通过@FeignClient查询另一个服务器中的接口,第一次调用正常,第二次调用404
报错信息为:
BaseExceptionHandler===========================================feign.FeignException$NotFound: [404] during [POST] to [http://admin/api/recordCourse/checkRecordStatus] [IAdminFeignClient#checkRecordStatus(RecordCourse)]: [{"timestamp":"2024-04-12T09:00:25.490+00:00","status":404,"error":"Not Found","message":"","path":"/api/recordCourse/checkRecordStatus"}]
at feign.FeignException.clientErrorStatus(FeignException.java:201)
配置信息如下:
@Configuration
public class FeignConfig implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
//String id = request.getHeader("X-Token");
requestTemplate.header("X-Token", request.getHeader("X-Token"));
}
}
Feign如下:
@FeignClient(value = "admin",configuration = FeignConfig.class)
public interface IAdminFeignClient {
@RequestMapping(value = "/api/recordCourse/checkRecordStatus", method = RequestMethod.POST)
public ResponseEntity<Object> checkRecordStatus(@RequestBody RecordCourse recordCourse);
}
接口调用如下:
@PostMapping("/checkRecordStatus")
public Result checkRecordStatus(@RequestBody RecordCourse recordCourse) {
ResponseEntity<Object> responseEntity = iAdminFeignClient.checkRecordStatus(recordCourse);
}