希望我的spring控制器返回一个没有视图的字符串

时间:2012-01-02 14:15:22

标签: java spring spring-mvc

  

可能重复:
  Return only string message from Spring MVC 3 Controller

我的弹簧控制器有一个我想要的端点:

1. set the http response code
2. return a string back, don't need to render a .jsp view page or anything.

因此需要将http状态代码设置为200 OK或500等。 只需返回一个像“OK”一样的字符串。

我该怎么办,或者我被迫渲染.jsp视图页?

2 个答案:

答案 0 :(得分:12)

使用@ResponseBody注释:

@RequestMapping(value="/sayHello", method=GET)
@ResponseBody
public String whatever() {
    return "Hello";
}

有关详细信息,请参阅@ResponseBody ref docs

您可以使用@ResponseStatus注释来设置代码,而不是直接使用HttpServletResponse

答案 1 :(得分:12)

不,你不会被迫使用视图。如果您使用更新版本的Spring,则可以使用@ResponseBody注释。请参阅documentation以供参考。

示例:

@Controller
@RequestMapping(value = "/someUrl", method = RequestMethod.GET, produces="text/plain")
@ResponseBody
public String returnSimpleMessage() {    
    return "OK";
}

您还可以使用HttpServletResponse作为参数来设置所需的HTTP状态。