Добавить сообщение JSON в RestCotroller - PullRequest
0 голосов
/ 10 мая 2018

Я хочу добавить сообщение JSON на класс контроллера REST (методы).Например, у меня есть метод удаления, похожий на:

@DeleteMapping("/people/{id}")
    public ResponseEntity<PersonDto> deletePerson(@PathVariable Long id) {
        return personService
                .deletePerson(id)
                .map(ResponseEntity::ok)
                .orElse(ResponseEntity.notFound().build());
    }

Я хочу вернуть сообщение Person (возможно numer of id) удалено.Должен ли я использовать ExceptionHandler?Или я могу сделать это, используя exceptionHnadler?

1 Ответ

0 голосов
/ 10 мая 2018

Определите класс ResponseBean POJO как

public class ResponseBean {

    public final Long id;
    public final String msg;

    public ResponseBean(Long id, String msg) {
        this.id = id;
        this.msg = msg;
    }

    public Long getId() {
        return id;
    }

    public String getMsg() {
        return msg;
    }
}

Измените свой метод контроллера как

@DeleteMapping("/people/{id}")
public ResponseEntity<ResponseBean> deletePerson(@PathVariable Long id) {
    return personService
            .deletePerson(id)
            .map(dto -> new ResponseBean(dto.getId(), "Person Deleted Successfully"))
            .map(ResponseEntity::ok)
            .orElse(ResponseEntity.notFound().build());
}

Ответ

{
  "id" : 2,
  "msg" : "Person Deleted Successfully"
}

Вы можете настроить класс ResponseBean в соответствии с вашими потребностями.

...