Просто прочитайте некоторые рекомендации по дизайну API RESTful. Я исхожу из фона ASP.Net Web Forms, в котором я вызывал код WebMethods, чтобы возвращать данные на javascript моей клиентской стороны. Для меня логично перевести эти WebMethods в API, чтобы мы могли начать централизовать и стандартизировать то, как мы вызываем конечные системы.RESTful API Именование ресурсов и дизайн контроллера
Я понимаю, что целью REST является категоризация операции на ресурсе для получения, POST, PUT и DELETE. Так же, чтобы использовать Существительные вместо глаголов для этих ресурсов.
1) У меня есть два метода, которые возвращают данные для создания отчетов. Я создал свои собственные классы BreakdownIncidents и BreakdownMinutes из-за привязки к стороне клиента и других конкретных свойств для каждого отчета.
[WebMethod] Top10MinutesBreakdowns
|Machine|Department|Total Minutes|etc.|
[WebMethod] Top10IncidentsBreakdowns
|Machine|Department|Total Incidents|etc.|
Должны быть организованы эти методы:
GET /Breakdowns?report=minutes&type=top10
GET /Breakdowns?report=incidents&type=top10
Тогда в моем контроллере Breakdowns проверьте параметры и вызовите соответствующую существующую функцию бизнес-уровня, чтобы вернуть данные?
2) Отчеты возвращают два разных свойства (простота: количество минут и количество инцидентов). Должен ли я действительно группировать эти два метода в один и тот же контроллер?
Здесь я смущен, потому что в отчете используются разные свойства, но основной объект - это разбивка. Возможно, этот вопрос больше подходит для перепроектирования самого моего бизнес-объекта. Я нахожу, что наш существующий бизнес-уровень имеет много классов, которые были созданы для привязки просмотров клиентской стороны. Я уверен, что с этим сценарием я столкнулся, когда попытаюсь построить этот API.