. net базовый API с поддержкой различных клиентов - PullRequest
0 голосов
/ 03 августа 2020

Я создаю один API, но для вызова разных клиентов.

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

Клиент One хочет отправить их свойства как часть конечной точки POST в / api / widget

Цвет, Вес, Плотность

Все в порядке ... документы отображаются с использованием Swashbuckle / Swagger.

Теперь другие клиенты например, второй клиент хочет отправить нам виджеты .. за исключением того, что они имеют разные свойства для отправки в конечную точку POST в / api / widget, например,

Цвет, Высота, Материал

Как я могу по существу поддержать две модели, чтобы клиенты не запутались при просмотре документации swagger, в частности, отображаемых определений «Схем»?

Можно ли вызывать каждую модель полезной нагрузки POST ClientOneWidget и ClientTwoWidget и иметь две отдельные конечные точки POST?

/ api / widget / clientone / api / widget / clienttwo

Это кажется мерзким ... и в конечном итоге шумным с точки зрения чванства документа ation ... что насчет того, если у меня будет десять клиентов?

Другой вариант - иметь одну модель и пометить свойства c клиента как принадлежащие этому клиенту, используя XML комментариев ... но это далеко на мой взгляд хуже.

Ура, Эндрю Даффи

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