如何从@FeignClient接口(@RequestParam)发送String和JsonNode参数?

时间:2019-09-18 11:40:39

标签: java spring-boot microservices feign

我有一个microservice employee ,其中有一个休息点

/lookups 方法是这样的:

@GetMapping("/lookups")
public ResponseEntity<Long> search(
@RequestParam("searchValue") String searchValue,
@RequestParam("externalMap") JsonNode externalMap
) {
        Long searchResult = 2L; //calls searchService(searchValue,externalMap); to get 2L value from DB
        return ResponseEntity.ok(searchResult);
    }

我正在使用界面@FeignClient

@FeignClient (name="employee")
public interface EmployeeService {
    @GetMapping("/lookups")
    Long lookupEmployeeService(@RequestParam(value = "searchValue") String searchValue,
            @RequestParam(value = "externalMap") JsonNode externalMap);

}

第二个服务(具有@FeignClient批注的服务)将构建并启动,没有任何异常。

但是,当我使用服务EmployeeService通过传递:来获取Long值时:

String searchValueJsonNode externalMap

我得到异常: HTTP/1.1 400 Bad Request (2726ms)

问题:

1。。调用此服务并从Employee Service获取返回值的正确方法是什么?

2。。我需要在第一项服务中更改搜索方法的Signature吗?

3。。如何克服此错误?

感谢您的帮助。提前致谢。

0 个答案:

没有答案