Здравствуйте. Помогите пожалуйста разобраться.
У меня есть следующий контроллер на сервере
@RestController
@RequestMapping(path = "/models")
public class AppController {
private ModelService modelService;
@Autowired
public AppController(ModelService modelService) {
this.modelService = modelService;
}
@PostMapping(value = "/{modelName}/token")
public String login(
@PathVariable("modelName") String modelName,
@RequestBody Auth auth
) {
return modelService.login(modelName, auth);
}
}
И следующий клиент:
@FeignClient(name = "connector")
@RequestMapping(path = "/models")
public interface ApiClient {
@RequestMapping(method = RequestMethod.GET, value = "/{modelName}/token", consumes = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation("Getting a token for the model")
String login(
@PathVariable("modelName") String modelName,
@RequestBody Auth auth
);
}
Почему-то не могу прочесть ответ от сервера, который выглядит следующим образом:
HTTP/1.1 200
Content-Type: text/plain;charset=UTF-8
Content-Length: 4
Date: Thu, 11 Jul 2019 16:35:18 GMT
!...!
Вылетает Exception:
org.springframework.cloud.sleuth.instrument.web.ExceptionLoggingFilter: Uncaught exception thrown
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is feign.FeignException: Unexpected character ('!' (code 33)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (BufferedReader); line: 1, column: 2] reading GET http://localhost:9091/models/123/token
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
Я так понимаю, он думает, что ему приходит json. Пробовал поставить produces = MediaType.TEXT_PLAIN_VALUE, но не дало никаких эффектов. Просто не замечает его.