一尘不染

Spring MVC-如何在Rest Controller中将简单的String作为JSON返回

spring

我的问题实质上是对该问题的后续行动。

@RestController
public class TestController
{
    @RequestMapping("/getString")
    public String getString()
    {
        return "Hello World";
    }
}

在上面,Spring将“ Hello World”添加到响应正文中。如何返回字符串作为JSON响应?我知道我可以添加引号,但这感觉更像是黑客。

请提供任何示例以帮助解释此概念。

注意:我不希望将其直接写到HTTP响应正文中,我想以JSON格式返回字符串(我将控制器与RestyGWT一起使用,这要求响应必须为有效JSON格式)。


阅读 1011

收藏
2020-04-12

共1个答案

一尘不染

返回text/plain(例如,从Spring MVC 3 Controller返回仅字符串消息),或者将String包装为某个对象

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" }
2020-04-12