我试图从 Spring Rest Controller 中仅获取 JSON 格式的响应正文,我的代码是:
@ResponseBody
@RequestMapping(value = "/userDetails", method = RequestMethod.GET, produces = "application/json")
public UserInfo getUserDetails(Principal principal){
return users.get(principal.getName());
}
我的结果是:
响应{_body:“{id:001}”,状态:200,ok:true,statusText:“OK”,标题:标题,...}。
我怎样才能只得到Json的主体,谢谢......
最佳答案
使用@RestController
@RestController
public class DemoController {
@GetMapping("/userDetails")
public UserInfo getUserDetails(Principal principal){
return users.get(principal.getName());
}
}
输出:
{"id": 001}
使用`@RestController`注释
注意:
Spring 4.0 引入了 @RestController
,这是 Controller 的一个专门版本,它是一个方便的注释,只不过添加了 @Controller
和 @ResponseBody
注释。通过使用@RestController注解来注解 Controller 类,您不再需要在所有请求映射方法中添加@ResponseBody。默认情况下,@ResponseBody
注释处于 Activity 状态。单击此处了解更多信息。
@RestController = @Controller + @ResponseBody
关于java - 从 Spring 休息 Controller 获取 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49993717/