我的问题实质上是对该问题的后续行动。
@RestController public class TestController { @RequestMapping("/getString") public String getString() { return "Hello World"; } }
在上面,Spring将“ Hello World”添加到响应正文中。如何返回字符串作为JSON响应?我知道我可以添加引号,但这感觉更像是黑客。
请提供任何示例以帮助解释此概念。
注意:我不希望将其直接写到HTTP响应正文中,我想以JSON格式返回字符串(我将控制器与RestyGWT一起使用,这要求响应必须为有效JSON格式)。
返回text/plain(例如,从Spring MVC 3 Controller返回仅字符串消息),或者将String包装为某个对象
text/plain
public class StringResponse { private String response; public StringResponse(String s) { this.response = s; } // get/set omitted... }
将你的响应类型设置为MediaType.APPLICATION_JSON_VALUE(= “application/json”)
@RequestMapping(value = "/getString", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
并且你将拥有一个类似于
{ "response" : "your string value" }