java – Spring MVC – 如何在Rest控制器中返回简单的String作为JSON

我的问题本质上是一个this问题的后续。

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

在上面的例子中,Spring会在响应体中添加“Hello World”。如何返回String作为JSON响应?我明白我可以添加引号,但这感觉更像是一个黑客。

请提供任何示例来帮助解释这个概念。

Note: I don’t want this written straight to the HTTP Response body, I want to return the String in JSON format (I’m using my Controller
with 07001 which requires the response to be in valid JSON
format).

最佳答案
String为JSON?正确的JSON需要一个键和一个值

{  key: value }

所以要么返回text / plain(如在Return only string message from Spring MVC 3 Controller)或wrap你的String是一些对象

public class StringResponse { 
    private String response;
    public StringResponse(String s) { 
       this.response = s;
    }
    // get/set omitted...
}

将响应类型设置为application / json

@RequestMapping(value = "/getString", method = RequestMethod.GET, produces = "application/json")

你会有一个JSON看起来像

{  "response" : "your string value" }

转载注明原文:java – Spring MVC – 如何在Rest控制器中返回简单的String作为JSON - 代码日志