java - 从 Spring 休息 Controller 获取 JSON

标签 java spring rest

我试图从 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/

相关文章:

java - 为什么我会收到无效映射异常

java - Hibernate 没有找到具有该名称的@NamedStoredProcedureQuery

Spring OAuth2.0 - 动态注册OAuth2.0客户端

rest - 使用 angular2、typescript 和 restangular2,没有 provider for http 错误

java - 有没有可以在这种情况下工作的设计模式?

java - 使用日期参数时,Spring Data JPA 日期 "between"查询问题

java - 使用扫描仪通过用户输入创建的 Junit 测试数组

java - 选择 Selenium 中的第 N 个类型

java - Jetty - 不同上下文和数据库的连接池,但查找代码相同

java - REST URI 设计 : Optional and multivalue information passing