java - 如何在获取请求上发送多个参数
问题描述
首先,感谢您阅读我的问题并尝试帮助我并为我的英语道歉。
我是 Spring 新手,我收到以下消息:
对 URI 的 servlet 请求
http://localhost:8080/backend/v1/streetviewer/search-street?url=backend2?busqueda=name%20street&idioma=es-es%26cantidad=10
在请求正文中包含表单参数,但请求正文已被 servlet 或访问请求参数的 servlet 过滤器使用。只有使用的资源方法@FormParam
才能按预期工作。通过其他方式消耗请求正文的资源方法将无法按预期工作。
我的后端使用一个参数(url)向 backend2 发送请求,但该 url 包含 3 个参数。我明白这就是为什么这么说的原因。
但我正在阅读@FormParam
用于 POST 请求的内容,并且我正在使用@QueryParam
.
@GET
@Path(ApiPath.PATH_BACKEND2)
public String getDataFromProdServer(@QueryParam(ApiParam.PARAM_URL) final String externalUrl ) {
return mapService.ServerRequest(externalUrl);
}
怎么解决??
解决方案
要说你实际上是在使用JAX-RS
实现,backend2
我认为它是一个单独的服务,所以我建议你使用 Spring 实现来使用 API。@RequestMapping/@GetMapping and so..
提出问题(使用 Spring 实现)
@GetMapping(ApiPath.PATH_BACKEND2)
public String getDataFromProdServer(@RequestParam(ApiParam.PARAM_UR) final String externalUrl) {
return mapService.serverRequest(externalUrl);
}
推荐阅读
- python - 在遇到换行符或逗号时拆分/剥离一组行
- python - 在 tf.while_loop 中使用 tf.concat 会导致 `InvalidArgumentError: ConcatOp : 所有输入张量的排名应该匹配`。但是 Ops 可以单独工作
- java - 如何在 java netbeans 上使用输入 joption 创建行
- vb.net - 使用 Westhold 的 Race Manager 软件读取 TCP/IP 数据流
- java - Tomcat8 Springboot不读取application.properties
- javascript - 如何使用 JS 重复 Type Writer 效果?
- amazon-web-services - Horton Sandbox - AWS EC2 上的 Ambari 未加载(公共 IP)
- ruby - 是否可以同时以 Ruby 和 PERL 运行程序?
- xamarin - Xamarin.Plugins.Messaging 无法发送带附件的电子邮件
- c# - 单例 Azure 函数作为单独的实例运行