Одна вещь, которую я не понимаю, при использовании ControllerLinkBuilder с methodOn особенностью является то, что вы предположим делать, если ваш контроллер имеет сигнатуру метода, как так:Spring HATEOAS ControllerLinkBuilder с methodOn
public HttpEntity<ResourceSupport> update(@PathVariable(USER_ID) Long userId, @Valid @RequestBody UserUpdateRequest userUpdateRequest, BindingResult bindingResult)
Поэтому, когда я хотите использовать methodOn, как я должен заполнить пробелы, такие как UserUpdateRequest аргумент и BindingResult (Я использую результат привязки для обработки исключений с ошибками с помощью @Controller Совет и JSR 303, чтобы сделать выводные сообщения доступными для человека).
Когда я хочу использовать из коробки весной HATEOAS ControllerLinkBuilder для большей легкости с methodOn я заканчиваю писать что-то вроде этого (против меня, я не знаю, если это не будет иметь обратный эффект, но код не выглядит утешительно):
resource.add(linkTo(methodOn(UserController.class).update(userId, null, null)).withSelfRel());
Ofcourse можно опустить methodOn часть и использовать только linkTo который затем требует, чтобы я играл вокруг построения пути.
Уместно просто передать null refs? Кроме того, как это удобно, используя methodOn как если вы решите удалить слово: BindingResult или добавить что-то вроде HttpServletRequest к методу контроллера подписи так, что пружина может передать мне более подробную информацию о запросе, если бы я хотел, чтобы войти в IP-адрес по какой-то причине. Это потребовало бы, чтобы я пошел и изменил конструкцию элемента связи с помощью метода OO.
Другого вопрос, который немного ошеломляет меня, говорит, я прохожу законный реф в methodOn как userUpdateRequest заполнены данными - это, что данные предполагают, чтобы пойти куда-нибудь с сгенерированной ссылкой? Я видел некоторые Hypermedia, которые включают наряду с rel и href тело того, что вы передаете, - возможно ли это с Spring HATEOAS, и является ли хорошей практикой создавать ссылки с готовыми к отправке/размещению в них полезных нагрузок?
Но вернемся к ControllerLinkBuilder с использованием только linkTo метод строительства связей с .slash ("...") - это потенциально менее требует дорогостоящего технического обслуживания?
В повседневной практике, что бы вы порекомендовали и что вы думаете о строительстве ссылок? Может быть, кто-то может предоставить профессиональные советы/советы.
Спасибо,