Java 参数为空时的弹簧云伪装行为
我在给一个外国客户写信Java 参数为空时的弹簧云伪装行为,java,spring-boot,spring-cloud,spring-cloud-feign,feign,Java,Spring Boot,Spring Cloud,Spring Cloud Feign,Feign,我在给一个外国客户写信 @RequestMapping( path = "/TrackingServlet?CompanyName=Test&UserName=&BranchCode=", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE ) ResponseEntity<String> getInfo( @Re
@RequestMapping(
path = "/TrackingServlet?CompanyName=Test&UserName=&BranchCode=",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE
)
ResponseEntity<String> getInfo(
@RequestParam("DocumentNumbers") String bill);
这甚至没有参数BranchCode
我正在使用org.springframework.cloud:springcloudstarteropenfeign:2.1.1.RELEASE
Spring boot版本2.1.4.0发布
在URL中保留空参数是否有其他方法或变通方法?如果您的URL是
http://localhost:8080/trackingServlet/testing?userName=pratik
使用外部客户端:
@FeignClient(name = "tracking-servlet-service")
public interface TestFeignClient {
@GetMapping("/trackingServlet/testing")
public String getQueryParam(@RequestParam("userName") String name);
}
如果您有2个或更多参数,则可以在@RequestParam
例如
URLhttp://localhost:8080/trackingServlet/testing?userName=pratik&companyName=Test
@FeignClient(name = "tracking-servlet-service")
public interface TestFeignClient {
@GetMapping("/trackingServlet/testing")
public String getQueryParam(@RequestParam("userName") String name,
@RequestParam("companyName") String companyName);
}
您试图访问的API是什么,以及您想作为
@RequestParam
发送的参数是什么?我想点击/TrackingServlet?CompanyName=Test&UserName=&BranchCode=&DocumentNumbers=12345
我不会将它们放在路径中,但可能会尝试使用请求拦截器,或者按照上面提到的方法将它们全部添加为请求参数。@Spencergib我们尝试添加路径和作为请求参数,在这两种情况下,=
符号都不存在,即使我们使用了较新的版本。现在我们使用的是spring请求模板,它可以很好地处理url中的空参数,=
符号并没有被消除。听起来对我来说是个不错的计划
@FeignClient(name = "tracking-servlet-service")
public interface TestFeignClient {
@GetMapping("/trackingServlet/testing")
public String getQueryParam(@RequestParam("userName") String name,
@RequestParam("companyName") String companyName);
}