Spring 启动@RestController 无法自动将响应转换为 JSON

Spring Boot @RestController cannot auto convert response to JSON

我 运行 在 Spring 引导应用程序方面遇到了小麻烦。根据我的理解,Jackson 依赖项是使用 spring-boot-starter-web 和 serialize/deserialize 对象自动配置到 json 中的 类 注释为 @RestController.

问题是它的行为与预期不同,而是以 plain/text 格式返回响应。

下面是我要执行的代码片段。

@GetMapping(value = "/user/",produces = "application/JSON")
public List<String> getUser(){

    List<String> newUsers = new ArrayList<String>();
    newUsers.add("User 1");
    newUsers.add("User 2");
    newUsers.add("User 3");
    return newUsers;
}

回应: 有人可以告诉我我到底做错了什么吗?

谢谢 J

是的,只是一个 JSON 数组也是一个有效的 JSON 。如果您想以对象形式输出 JSON,例如:

{
   "users":["User 1","User 2","User 3"]
}

你可以这样做:

@GetMapping(value = "/user/",produces = "application/JSON")
public Map<String,Object> getUser(){
    Map<String,Object> result = new HashMap<String,Object>();
    List<String> newUsers = new ArrayList<String>();
    newUsers.add("User 1");
    newUsers.add("User 2");
    newUsers.add("User 3");
    result.put("users" , newUsers);
    return result;
}