当前位置: 首页 > 知识库问答 >
问题:

来自spring boot rest控制器的JSON响应重复

段干长恨
2023-03-14

我试图用Spring boot 1.5.9.RELEASE来构建一个rest api,却被这个问题卡住了。对apiendpoint的post请求工作得很好,但是当到达get请求时,结果会重复。应用程序对get请求产生的响应是

{"data":["Administrator"]}{"data":["Administrator"]}

关联的请求映射类代码

@RequestMapping("/get")
    public ResponseEntity getAllRoles()throws Exception{

        List<Roles> roles = rolesService.getRoles();
        Set<String> roleNames = new HashSet<>();
        for(Roles r : roles)
            roleNames.add(r.getRoleName());
        return new ResponseEntity(new Response(roleNames), HttpStatus.OK);
    }

响应类

public class Response<T> {

    private T data;

    public Response() {}

    public Response(T data) {
            this.data = data;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

对如何解决这个问题有什么想法吗?预先感谢

共有1个答案

芮祺
2023-03-14

您正在创建响应两次,请在下面使用

RequestMapping("/get")
    public ResponseEntity<?> getAllRoles()throws Exception{

        List<Roles> roles = rolesService.getRoles();
        Set<String> roleNames = new HashSet<>();
        for(Roles r : roles)
            roleNames.add(r.getRoleName());
        return new ResponseEntity<Object>(roleNames, HttpStatus.OK);
    }
 类似资料:
  • 我的任务是简单地制作一个控制器,当它们准备好时立即给我结果(下面的简单示例) 我想得到字符串的确切数量(例如1000个字符串,以某种方式为1秒)(实际上我需要得到func的结果,但为了简化任务,只是字符串) 因此,当我在控制器中收到一些请求时,我希望它能以这种方式在它们准备好后尽快给出答案(无需缓冲结果): 1秒钟 “一些绳子”- 1秒钟 “另一个”- 1秒钟 “第三个”- 1000秒 “一些绳子

  • 问题内容: 在一个WebAPI项目中,我有一个控制器,可以根据用户输入的值来检查产品的状态。 假设他们输入“ 123”,响应应该是“状态”:1,以及产品列表。如果输入“ 321”,则“状态”为0,并列出产品。 我的问题是,如何在WebAPI控制器中构建正确的字符串。 另外,此输出/响应是否被视为有效? 问题答案: 因此,这是您的帖子的更改: 首先,您应该在传递请求时让api默认返回Json (这是

  • 我在spring boot应用程序中点击一个控制器,当我返回到浏览器时,我希望它重定向到spring boot应用程序模板以外的另一个网站或url。

  • 问题内容: 我正在编辑内置的表单。 我在对话框中显示该表单,然后提交。 数据已正确输入数据库。 但是我不知道是否需要将一些寄回。其实我对事情有点困惑。 假设我在表中使用``jQuery添加了一行,当我提交表单时,然后在提交数据之后,我想发回那些行数据,以便我可以动态添加表行以显示添加的数据。 我很困惑如何获取这些数据。 这是我当前的代码: 这只是带有成功消息的模板。 问题答案: Symfony 2

  • 在读取我从 字符串并尝试将值分配给 POJO 类时遇到问题。 当我使用此格式时,它可以工作(意外发现,复制粘贴): 但实际上从中读取时,它看起来像下面一个:- 这是我的代码: 我的问题不是我不知道如何将JSON字符串编组到POJO,而是我从获得的JSON响应对于无效。

  • 我用这样的控制器构建了一个json REST服务: 它工作得很好,但是现在我需要修改所有的响应,并为它们添加“状态”和“消息”字段。我读过一些解决方案: 从所有控制器方法返回某个特定类的对象,例如RestResponse,它将包含“状态”和“消息”字段(但这不是通用解决方案,因为我必须修改所有控制器并以新样式编写新控制器) 拦截所有带有方面的控制器方法(但在这种情况下,我无法更改返回类型) 如果我