Я хочу, чтобы вернуть простую простую текстовую строку следующим образом:Как вернуть обычный текст в контроллер весны?
@RestController
@RequestMapping("/test")
public class TestController {
@ResponseStatus(HttpStatus.OK)
@RequestMapping(value = "/my", method = RequestMethod.GET, produces="text/plain")
public String test() {
return "OK";
}
Проблема: У меня также есть глобальный ContentNegotiation фильтр следующим образом:
@Configuration
public class ContentNegotiationAdapter extends WebMvcConfigurerAdapter {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false)
.favorParameter(true)
.ignoreAcceptHeader(true)
.useJaf(false)
.defaultContentType(MediaType.APPLICATION_XML);
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
}
}
Результат: всякий раз, когда я доступ к контроллеру пружины, я «получаю ошибку:
Could not find acceptable representation
Вопрос: как я могу заставить контроллер к г eturn plain text, хотя только XML был настроен в контексте согласования контента (что мне нужно сохранить)?
Нет, '@ RestController' подразумевает '@ ResponseBody'. – membersound
Как упоминалось в @membersound, использование '@ RestController' эквивалентно записи' @ ResponseBody' во всех методах сопоставления запросов в вашем контроллере. – bphilipnyc