Отправить запрос на restcontroller с URL для остальных репозиториев - PullRequest
0 голосов
/ 05 июля 2019

У меня есть 2 объекта A и B, где A содержит атрибут "b" класса B (однозначное сопоставление между A и B)

Я хочу сделать вызов покоя, чтобы сохранитьэкземпляр сущности A и передача b param в качестве URL-адреса, который дает что-то подобное в json:

{
    "id": "5",
    "b": "/restapi/B/2"
}

/ b / 2 ссылается на ресурс restById rest репозитория B.

Когдая выполняю этот целевой ресурс rest save () из репозитория A (обычно это POST-запрос к url ​​/ restapi / A), он работает просто отлично, Spring ищет сущность B (в данном примере 2), вызывая ресурс rest репозитория B.

Я хочу выполнить то же поведение, используя свой собственный контроллер покоя, определив функцию @PostMapping внутри компонента @RestController.

Возможно ли это?

PS: Iуже протестировал отправку вышеупомянутого JSON с почтальоном, а остальные API интерпретируют "/ restapi / B /" как String и пытаются десериализовать B, используя строку, которая, очевидно, завершается неудачей.

Ответы [ 2 ]

0 голосов
/ 15 июля 2019

Используйте @RepositoryRestController в вашем классе контроллера вместо @RestController

0 голосов
/ 05 июля 2019

Да, вы можете автоматически подключить этот репозиторий в вашем restcontroller и просто использовать его оттуда. Вам может понадобиться аннотация к транзакции.

Также я бы предложил взглянуть на проект Spring-Data-Rest. Это уже дает вам то, что вы пытаетесь построить. Это реализация принципа HATEOAS.

...