Я разрабатываю API и решаю, следует ли отличать внешние и внутренние вызовы. Я думал, что буду использовать один и тот же класс контроллера как для внутренних, так и для внешних API (например: ProductsController.cs (обрабатывать ресурс продукта)) с помощью разных методов (в виде разных параметров и различных возвращаемых объектов и различной авторизации) для внутренних и внешних потребление. Я думаю, что это может стать кошмаром для поддержания, если я хочу изменить api для внутреннего, но не хочу меняться для внутреннего, и это не очевидно, какие есть. Я думаю, что, возможно, другие файлы контроллеров будут легче поддерживать, но я знаю, что они имеют дело с одним и тем же ресурсом, поэтому у меня есть внутренняя борьба, которая будет лучшим направлением. Я также понимаю, что изменение api, скорее всего, приведет к изменению внутренней и внешней apis, и, таким образом, управление версиями также сыграет свою роль. Любой совет будет принят во внимание.Внутренние и внешние методы api
ответ
Вы можете создавать общедоступные (внешние) и частные (внутренние) папки и иметь контроллер продуктов в обоих случаях. Они могут быть несвязанными или совместно использовать базовый класс.
В то время как оба они обрабатывают один и тот же ресурс, они делают это совсем по-другому, чем вы говорите, поэтому похоже, что ваш ProductsController
заканчивает выполнение двух очень разных вещей.
Для меня совершенно очевидно, что вам нужно их разделить.
Вы можете поместить их в разные namespaces
или даже разные Areas
. Если у вас есть общая логика, вы можете получить это в базовом классе .
Да, меня больше беспокоит изменение интерфейса api, и оно влияет на внешний. Они представляют собой один и тот же фактический ресурс, поэтому я затрудняюсь сделать его другим контроллером. – CSharpAtl
Да, но из моего понимания вы обслуживаете один и тот же ресурс двумя разными способами. Хотя в Репозитории это может быть тот же ресурс, ваш API обслуживает его как два разных ресурса. –
служит только для другого вида объекта. – CSharpAtl
- 1. Внешние и внутренние классы и статические методы
- 2. Отличительные внутренние/внешние методы для Javadoc
- 3. Внутренние и внешние ссылки
- 4. Внутренние и внешние CSS
- 5. DNS: внутренние и внешние неймсерверов
- 6. Внутренние и внешние обратные ссылки
- 7. Внутренние и внешние схемы BizTalk
- 8. Внутренние и внешние дорожки хода
- 9. внутренние и внешние библиотеки Java
- 10. Внутренние и внешние цвета обертки
- 11. Внешние и внутренние SQL-соединения
- 12. Anonymous Внутренние классы Внутренние методы
- 13. Внутренние/внешние запросы и маршруты HMVC?
- 14. Внешние и внутренние значения JS - MBean
- 15. Как различаются внешние жесткие диски и внутренние?
- 16. Режимы NFC PPSE внутренние и внешние
- 17. Вложенные петли - внешние и внутренние условия
- 18. node.js ВМ и внешние методы
- 19. Moq Внутренние методы
- 20. Внутренние методы variable scope
- 21. Внутренние методы Django Модели
- 22. C# абстрактные методы: внутренние и виртуальные?
- 23. Огурцы и переменные внутренние методы, называемые косвенно
- 24. Публичные и внутренние методы во внутреннем классе
- 25. Как следует тестировать внутренние классы и методы?
- 26. Plone Внешние методы help
- 27. Внешние и внутренние интерфейсы и скрытие информации в OCaml
- 28. Как вызвать внутренние методы класса javascript?
- 29. Какие циклы следует распараллеливать, внешние или внутренние
- 30. Добавить внутренние границы, но не внешние
У меня есть веб-API MVC, размещенный внутри организации (например, http: // myweb: 123), который доступен только изнутри сети. Как я могу сделать так, чтобы люди извне могли также получить к нему доступ? – Si8