Я пишу REST-сервер в SpringBoot. Я реализовал методы POST, GET, DELETE, PUT. CORS включен в моей конфигурации WebSecurity:
http.cors().and().csrf().disable().authorizeRequests()
Я разрешил методы HTTP:
@Bean
CorsConfigurationSource corsConfigurationSource() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
var corsConfiguration = new CorsConfiguration();
corsConfiguration.applyPermitDefaultValues();
corsConfiguration.addAllowedMethod("*");
source.registerCorsConfiguration("/**", corsConfiguration);
return source;
}
Я тестирую API, используя SwaggerUI и Postman. Все методы работают в SwaggerUI. Все методы, кроме PUT, работают в Postman, но PUT не работает в Postman. Когда я отлаживаю для запроса PUT, я вижу, что в моем контроллере поля в объектах параметров равны нулю:
@RequestMapping(value = "/reports/update", method = RequestMethod.PUT)
public ResponseMessage updateReport(ReportPreference reportPreference) {
//...
}
Есть ли что-то, что я пропускаю для метода PUT?
Спасибо