У меня написан обычный метод для контроллера:
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseEntity<String> login(@RequestBody User u)throws ServletException {
String jwtToken = "";
String email = u.getEmail();
String password = u.getPassword();
//checks
jwtToken = Jwts.builder().setSubject(email).claim("roles", "user").setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS256, "secretkey").compact();
return new ResponseEntity<String>(jwtToken, HttpStatus.OK);
}
И он правильно работает, когда приходят данные в следующем формате:
{"email": "example@gmail.com", "password": "123456"}
Меня интересует вопрос, что нужно сделать, чтобы принять правильно следующий запрос:
{"credentials": {"email": "example@gmail.com", "password": "123456"}}
Заранее спасибо!
Надо создать сущность, у которой будет поле типа User, имя поля должно быть credentials.
class Credentials{
User credentials;
}
И тогда ваш метод должен принимать Credentials
public ResponseEntity<String> login(@RequestBody Credentials u)throws ServletException
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники