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

如何使用Springboot将json对象作为参数传递到REST请求URL中

归俊捷
2023-03-14

我已经查看了各种答案,但它们并没有解决我的问题。我有一个非常具体的客户需求,我无法使用请求的主体。

我已经检查了这些帖子:

  • 尝试使用Spring Boot REST从POST读取JSON字符串
  • 使用Jackson JSON在Spring MVC中解析JSON
  • 在Rest web方法中传递JSON对象

注意:我确实对URI进行了编码。

我得到各种错误,但非法的超文本标记语言字符是一个。要求很简单:

编写一个接受以下请求的REST服务

GET/blah/bar?对象=对象11

对象是一个POJO,将采用以下JSON格式

{
    "foo": bar,  
    "alpha": {       
        "century": a,
    }
}

显然,我会在一个对象列表中阅读。。。

我的代码非常简化...如下所示。

 @RequestMapping(method=RequestMethod.GET, path = "/test")
 public Greeting test(@RequestParam(value = "object", defaultValue = "World") FakePOJO aFilter) {
     return new Greeting(counter.incrementAndGet(), aFilter.toString());
 }

我还尝试将其封装为字符串,稍后再进行转换,但这也不起作用。

有什么建议吗?这应该非常简单,hello world spring rest tut应该是一个很好的虚拟测试框架。

----编辑----

我已经弄清楚了jackson如何解析json的潜在原因。我已经解决了它,但会写下来...我将在周一之后提供确切的细节。简短的版本。为了使它同时适用于单个过滤器和多个过滤器,请将其捕获为字符串并使用json slurper


共有1个答案

袁成化
2023-03-14

如果对映射使用RequestParam注释

 @GetMapping("/blah/bar")
 public Greeting test(@RequestParam Map<String, String> searchParameters) {
     ...
 }

查看文档以获得更深入的解释。

 类似资料:
  • 问题内容: 我需要在Web服务调用中将一些值从移动设备传递到服务器,因此我打算将JSON格式的所有值传递如下 以下是我的服务电话 我正在尝试通过这种方式致电上述服务 但是输出是这样的 谁能告诉我为什么我没有获得所有的价值观? 问题答案: 我建议将JSON数据作为请求传递给主体。但是,如果您仍然希望将其作为URL中的参数传递,则必须像下面这样对URL进行编码,例如: 对于前json是:-> 有关UR

  • 问题内容: 我有一个复杂的JSON对象,该对象没有任何问题即可发送到View(如下所示),但是当通过AJAX调用将数据序列化回.NET对象时,我无法弄清楚如何将该数据序列化回.NET对象。各个部分的详细信息如下。 我不确定如何将该对象传递给Controller方法,下面有此方法,其中Timelines对象使用Properties镜像上述JS对象。 我正在使用的jQuery是: 我还看到了使用’Js

  • 问题内容: 我可以将数组作为url参数传递的最佳方法是什么?我在想这是否可能: 还是这样: 香港专业教育学院阅读示例,但我发现它很混乱: 问题答案: 有一个非常简单的解决方案:。它把您的查询参数作为一个关联数组: 将返回 为您处理所有必需的转义(=> 和=> ),因此此字符串等于。

  • 问题内容: 我有以下任意JSON对象(字段名称可能会更改)。 -- 我知道我可以像定义具有相同字段名的JSON对象那样定义类,但是我希望控制器接受具有不同字段名的任意JSON对象。 问题答案: 如果您想将自定义JSON对象传递给MVC操作,则可以使用此解决方案,它的工作原理很吸引人。 该解决方案的真正好处是,您不需要为每个参数组合定义一个新类,并且除此之外,您可以轻松地将对象转换为其原始类型。 更

  • 我知道这个问题以前在stackoverflow上被问过。然而,我还没有找到一个答案来实际测试服务,例如使用Postman。 我已经按照留档和我的服务是几乎相同的描述留档: 当我尝试使用Postman加热我的服务时,我得到了以下错误: org.springframework.web.multipart.多部分异常:当前请求不是多部分请求 在《邮递员》杂志上,我得到了如下回报 问题是:是否可以使用邮递

  • 我试图实现同样的事情:如何使用查询参数表示为JSON与Spring RestTemplate?,发送JSON字符串作为URL参数在. 公认的答案提到将JSON对象作为请求参数发送通常不是一个好主意,因为您可能会面临JSON中的花括号问题。这正是当我试图对API进行GET调用时发生的事情。由于这是来自另一个系统的API,我不能要求他们更改格式,必须调用GETendpoint,将JSON作为参数传递。