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

Bla*_*man 10 java spring spring-mvc

可能重复:
仅从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.
Run Code Online (Sandbox Code Playgroud)

因此,需要将http状态代码设置为200 OK或500等.只需返回"OK"之类的字符串即可.

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

Dav*_*ton 14

使用@ResponseBody注释:

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

有关更多详细信息,请参阅@ResponseBody参考文档.

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


Łuk*_*man 12

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

例:

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

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