Можем ли мы перегрузить PostMapping в Spring Boot?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Можем ли мы перегрузить PostMapping в Spring Boot?

Сообщение Anonymous »

Предположим, у меня есть два объекта: Person и Stranger, которые расширяют Person:

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

public class Person {
private String lastName;
private String firstName;
}

public class Stranger extends Person {
private String hairColor;
private String tshirtColor;
}
Я хочу напечатать изображение на основе этих объектов, вызвав /print в моем REST API.
Я уже сделал это с Person объект:

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

@PostMapping(value = "/print", produces = MediaType.TEXT_PLAIN_VALUE)
@ResponseStatus(HttpStatus.OK)
public String print(@RequestBody Person person) {
return this.personService.print(person);
}
Я хотел бы перегрузить печать, потому что хочу иметь возможность передавать объект Stranger в качестве аргумента.
Так можно ли просто сделать что-то подобное? Или это плохая практика, она тоже скомпилируется?

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

@PostMapping(value = "/print", produces = MediaType.TEXT_PLAIN_VALUE)
@ResponseStatus(HttpStatus.OK)
public String print(@RequestBody Stranger stranger) {
return this.personService.print(stranger);
}
РЕДАКТИРОВАТЬ: я забыл сказать, что видел, что могу сделать это с помощью RequestParam (https://tomaytotomato.com/overloading-r ... pring-boot -2/), но я использую RequestBody


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

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

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

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

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

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