У меня есть простое приложение для загрузки Spring. Я реализовал метод контроллера POST. Метод POST выдает 415 Unsupported MediaType. Вот код и конфигурация:
Controller.java
@RequestMapping(consumes = { "application/json"}, produces = {"application/json"})
public interface ServiceApi {
@ResponseVersioning(value = "vr", service = "serviceActivated")
@DynamicFilter(ActivatedServiceFilter.class)
@RequestMapping(value = "/service/activated", method = RequestMethod.POST)
ResponseEntity<ActivatedResponse>
postServiceActivated(@RequestHeader("vr")String version,
@RequestParam(value = "attributeGroup", required = false) String attributeGroup,
@RequestBody ServiceRequest requestResource,
HttpServletRequest request
);`
AppConfig.java
@Configuration
@ComponentScan({"com.jfilter.components"})
@EnableJsonFilter
public class WebMvcConfig extends WebMvcConfigurerAdapter {
private final Logger log = LoggerFactory.getLogger(WebMvcConfig.class);
@PostConstruct
private void postConstruct(){
log.debug("WebMvcConfig Created");
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(commonRestInterceptor());
}
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public CommonRestInterceptor commonRestInterceptor() {
return new CommonRestInterceptor();
}
@Bean(name="partnerAppUser")
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public PartnerUser partnerUser() {
return new PartnerUser.PartnerUserBuilder<>().build();
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new MappingJackson2HttpMessageConverter());
super.configureMessageConverters(converters);
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false).
favorParameter(true).
parameterName("mediaType").
ignoreAcceptHeader(true).
useJaf(false).
defaultContentType(MediaType.APPLICATION_JSON).
mediaType("xml", MediaType.APPLICATION_XML).
mediaType("json", MediaType.APPLICATION_JSON);
}
}`
Post call выдает 415, также добавлены эти зависимости
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
Я передаю MediaType как application / json из моего запроса для заголовков Content-type и Accept.