Объединение @pathvariable и @requestbodyJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Объединение @pathvariable и @requestbody

Сообщение Anonymous »

У меня есть DTO:

Код: Выделить всё

public class UserDto {
private Long id;
private String name;
}
и контроллер:

Код: Выделить всё

@RestController
@RequestMapping("user")
public Class UserController {
@PostMapping(value = "{id}")
public String update(@PathVariable String id, @RequestBody UserDto userDto){
userDto.setId(id);
service.update(userDto);
}
}
Что мне не нравится, так это вручную помещать идентификатор из @PathVariable в DTO: userDto.setId(id); .
Для POST-запроса /user/5 с телом: { name: "test" , как я могу автоматически установить идентификатор в DTO , чтобы получить DTO типа ниже?

Код: Выделить всё

{
id: 5,
name: "test"
}
< /code>
По сути, я хотел бы иметь что-то вроде: < /p>
@RestController
@RequestMapping("user")
public Class UserController {
@PostMapping(value = "{id}")
public String update(@RequestBody UserDto userDto){
service.update(userDto);
}
}
< /code>
Есть ли способ сделать это? < /p>
Спасибо! :) < /p>
Редактировать: это старый вопрос, все еще без ответа, поэтому я хотел бы добавить новую перспективу к этому вопросу. < /p>
Другая проблема У нас было проверка, в конкретной - определение пользовательского ограничения, которое выполняет проверку на основе некоторого поля и идентификатора 
. Можем ли мы получить к нему доступ от пользовательских ограничений? :)
Редактировать 2: ItalkTotheWind создал выпуск на GitHub: https://github.com/spring-projects/spri ... sues/28637

Подробнее здесь: https://stackoverflow.com/questions/579 ... equestbody
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»