Я пытаюсь собрать RESTful API с помощью Spring Boot, версия которого 2.0.5.RELEASE. Вот мой контроллер:
// Just for test
@RestController
public class LoginController {
@RequestMapping(value = "/user/login",method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> login(@RequestParam(name = "username") String username,
@RequestParam(name = "password") String password) {
ResponseEntity<RESTResponse> response = null;
if(username.equals("123") && password.equals("123")){
// success
response = new ResponseEntity<>(RESTResponse.generateResponse(
null, "successful", "Log in successfully."), HttpStatus.OK);
} else {
// failed
response = new ResponseEntity<>(RESTResponse.generateResponse(
null, "failed", "Your username or password is incorrect."), HttpStatus.OK);
}
return response;
}
}
А это класс конфигурации Spring MVC:
@Configuration
public class MyMvcConfig implements WebMvcConfigurer{
/**
* CORS configuration
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins(ALL)
.allowedMethods(ALL)
.allowedHeaders(ALL)
.allowCredentials(true);
}
}
Контроллер должен отвечать на данные JSON. Я использовал Почтальон, чтобы проверить контроллер. Контроллер мог получить параметры запроса и работать должным образом, но почтальон получил странный ответ:
{
"timestamp": "2018-09-16T05:55:14.860+0000",
"status": 406,
"error": "Not Acceptable",
"message": "Could not find acceptable representation",
"path": "/api/user/login"
}
Может ли кто-нибудь помочь?