Запрос Put не попадает на мой контроллер с помощью ложного клиента, получая код состояния 415

#java #spring-boot #feign

#Ява #пружинный ботинок #притворяться

Вопрос:

это мой притворный клиентский код

 @RequestLine("PUT /merchants/{merchantId}") @Headers("Content-Type: application/json") MerchantDTO updateMerchant(@Param("merchantId") Long merchantId, PutMerchantDTO putMerchantDTO);  

который вызывается в некотором классе RequestFactory. А это мой код контроллера

 @PutMapping(value = "/merchants/{merchantId}") ResponseEntitylt;MerchantDTOgt; updateMerchant(@RequestBody @NotEmpty PutMerchantDTO updateMerchantRequest, @PathVariable("merchantId") final Long merchantId) {   return ResponseEntity.ok(merchantUpdateMapper.toDtoMerchant(merchantUpdateService.processUpdate(merchantUpdateMapper.toDomain(updateMerchantRequest, merchantId)))); }  

Может кто-нибудь, пожалуйста, сказать мне, почему я получаю 415 при выполнении запроса put с этим фальшивым клиентом на мой контроллер?

Комментарии:

1. Вы пробовали включить притворное ведение журнала, чтобы увидеть отправку фактического запроса?

Ответ №1:

удалить @Headers и @PutMapping добавить consumes = "application/json"

Комментарии:

1. к сожалению, это не помогло.

Ответ №2:

@PutMapping(значение = «/merchants/{MerchantId}») вы пишете ту же строку, что и в «притворном клиенте».

и измените @Param(«Идентификатор продавца») на @PathVariable(«Идентификатор продавца»).

Комментарии:

1. Я сделал то, что вы сказали, но опять безрезультатно