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

参数为空时的Spring cloud假动作

斜宁
2023-03-14
@RequestMapping(
      path = "/TrackingServlet?CompanyName=Test&UserName=&BranchCode=",
      method = RequestMethod.GET,
      produces = MediaType.APPLICATION_JSON_VALUE
      )
  ResponseEntity<String> getInfo(
      @RequestParam("DocumentNumbers") String bill);

当它被调用时,url变成/trackingservlet?companyname=test&username&branchcode消除=符号,但是API需要这种格式,因为它是第三方API,我们不能修改它。

也试过

@RequestMapping(
      path = "/TrackingServlet?CompanyName=Test&UserName=",
      method = RequestMethod.GET,
      produces = MediaType.APPLICATION_JSON_VALUE
      )
  ResponseEntity<String> getInfo(
      @RequestParam("DocumentNumbers") String bill,
      @RequestParam(name = "BranchCode", required = true) String BranchCode);

  default ResponseEntity<String> getInfo(String bill) {
    return getInfo(bill, "");
  }

这甚至没有参数branchcode

共有1个答案

后树
2023-03-14

如果您的URL是http://localhost:8080/trackingservlet/testing?username=pratik,请使用feign client:

@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);

    }
 类似资料:
  • 有什么原因可以解释为什么我得到一个编译错误(一起使用),当声明一个模拟接口方法时,像这样: 但是当我使用这个(切换参数顺序)时,一切都很好: 在目前的项目中,所有其他的外来方法都能以前一种形式很好地工作。我不知道这些信息是否重要,但这是我唯一尝试使用带有参数注释的列表。 参数的顺序在这里像这个答案一样重要吗?在这种情况下,在哪些情况下我应该注意参数顺序?虚假文档似乎像我遇到问题时那样使用它。 顺便

  • SpringCloud微服务运维最佳实践,如何动态定义各种启动参数? 笔者是一名Java服务端程序员,学习微服务后,在部署时发现过程复杂,且做的重复工作非常多,因此学习基本运维。目标是,使用Kubernetes和容器技术进行微服务编排和部署。 本文只讨论服务容器化,不涉及K8s和Jenkins相关内容。 问题概述 在服务容器化时,一些参数必须动态传入,以适应不同的部署环境。变化的参数包括: 部署环

  • 我面临着一个逻辑问题。我创建了一个带参数的函数。参数为代理消息。但是,该函数无法获取当前代理。这个论点似乎是空的。为什么?

  • 我有java代码,我改成kotlin了,我的代码是用pdf-viewer库显示pdf的,我不明白为什么我的代码是错误的,下面是错误: 指定为non-null的是null参数:方法kotlin.jvm.internal.intrinsics.CheckParameterIsNotNull,inputStream参数 这是我的密码

  • 根据这个答案,我可以将函数作为参数传递 https://stackoverflow.com/a/33402863/5709159 所以,实际上有两个问题 如果有可能,将函数定义为可空,以使此方法具有重载 如何传递非当前类的函数?例如

  • 我的理解是,对于Spring数据JPA,我不能用一个查询方法来获取列等于给定的非空方法参数的所有行,也不能用相同的方法来获取方法参数为空时该列为空的所有行。 那是正确的吗? 所以我必须在我的JAVA代码中区分这一点,我必须使用一个单独的查询方法显式地请求空值,就像下面的例子一样? 这很糟糕,如果我有4个可能为空的参数,并且必须编码16种不同的查询方法。