Как преобразовать методы SOAP в restful API? - PullRequest
0 голосов
/ 03 мая 2018

Я новичок в этом мире сервисов отдыха, у меня есть простой сервис SOAP с именами

withDrawCashFromAccount(int id, int amountToWithDraw) 
depositCashToAccount(int id, int amountToDeposit)

, которые говорят сами за себя, это была простая услуга, так как команда менеджеров решила перейти к архитектуре с отдыхом, и я столкнулся со следующими проблемами при преобразовании двух методов в API с отдыхом

  • Чтобы изменить один столбец в ресурсе, нужно ли отправить полная JSON структура ресурса?.

имя ресурса "Аккаунт"

e.g Json structure:

        id : 1,
        name : "awesome customer",
        Amount : 500
  • Для того, чтобы иметь два типа простых случаев использования, где пользователь может снять наличные или пользователь может внести депозит, я озадачен тем, как я могу оформить конечные точки для отдыха. Могу ли я назвать их

    / счет / depositCash / идентификатор, / Счет / withdrawCash / ID

    • Что-нибудь еще, что мне нужно думать, как идемпотентная природа вышеуказанных вызовов?

В настоящее время используется пружинная загрузка из этого примера

1 Ответ

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

Вам необязательно отправлять весь объект Account, и вы должны иметь возможность называть свои конечные точки как угодно, если они основаны на одном базовом URL; все зависит от того, как настроены ваши сервисы и POJOS.

Например, используя JAX-RS , вы можете аннотировать класс обслуживания с помощью @Path("path/you/want/here"), чтобы указать базовый путь для всех методов, доступных в этом сервисе, за которыми следуют более конкретные @Path аннотации для каждого метод для предоставления им уникальных путей (аннотация уровня @Path добавляется в конец первого уровня класса). Вы можете аннотировать ваши публичные методы с помощью аннотаций HTTP-глаголов, таких как @GET или @POST, чтобы указать, какой глагол будет принимать этот метод.

В ваших методах конечных точек REST вы можете десериализовать входящий JSON в POJO с помощью Джексона , указав, какие атрибуты требуются, как их следует десериализовать / сериализовать и т. Д. Пока вам не нужны атрибуты или вы ожидаете, что они не всегда будут присутствовать, вы можете просто позволить пропущенным полям POJO десериализоваться до нуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...