如何在获取请求上发送多个参数

时间:2019-06-14 12:15:58

标签: java spring spring-boot

首先,感谢您阅读我的问题,并尝试帮助我并为我的英语道歉。

我是Spring的新手,并且收到以下消息:

对URI的servlet请求

class Program { static void Main(string[] args) { MyClass object1 = new MyClass(1, "A", new DateTime(2019, 1, 1)); MyClass object2 = new MyClass(2, "B", new DateTime(2019, 1, 2)); List<MyClass> myList = new List<MyClass>(); myList.Add(object1); myList.Add(object2); string json = JsonConvert.SerializeObject(myList); List<MyClass> objectAfterJson = JsonConvert.DeserializeObject<List<MyClass>>(json); int id = objectAfterJson[0].Id; } } class MyClass { public int Id; public string Name; public DateTime Date; public MyClass(int id, string name, DateTime date) { Id = id; Name = name; Date = date; } }

在请求主体中包含表单参数,但是请求主体已被servlet或访问请求参数的servlet过滤器消耗。只有使用http://localhost:8080/backend/v1/streetviewer/search-street?url=backend2?busqueda=name%20street&idioma=es-es%26cantidad=10的资源方法才能按预期工作。通过其他方式消耗请求主体的资源方法将无法正常工作。

我的后端使用一个参数(网址)向backend2发送请求,但该网址包含3个参数。我知道这就是为什么要这么说。

但是我读到@FormParam用于POST请求,而我正在使用@FormParam

@QueryParam

如何解决?

1 个答案:

答案 0 :(得分:1)

可以说,您实际上是在使用JAX-RS中的backend2实现,我假设它是一项单独的服务,所以建议您使用Spring Implementations来使用该API。 @RequestMapping/@GetMapping and so..

出现问题(使用Spring实施)

@GetMapping(ApiPath.PATH_BACKEND2)
public String getDataFromProdServer(@RequestParam(ApiParam.PARAM_UR) final String externalUrl) {
  return mapService.serverRequest(externalUrl);
}