我有一个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 searchValue
和JsonNode externalMap
,
我得到异常:
HTTP/1.1 400 Bad Request (2726ms)
问题:
1。。调用此服务并从Employee Service
获取返回值的正确方法是什么?
2。。我需要在第一项服务中更改搜索方法的Signature
吗?
3。。如何克服此错误?
感谢您的帮助。提前致谢。