#c# #rest #asp.net-web-api2 #naming-conventions
#c# #rest #asp.net-web-api2 #соглашения об именовании
Вопрос:
REST API имеет дело с ресурсами, поэтому практика заключается в том, чтобы называть API как существительное (имя ресурса), а Http-метод (глаголы) должен отражать действие, выполняемое API. Я пытаюсь понять, относится ли это также к именованию метода класса контроллера. Я использую Web API 2, который будет размещен самостоятельно с использованием OWIN. Каким должно быть соглашение об именовании метода контроллера в C #?
Например, если мне нужно получить продукты по идентификатору, я понимаю, что uri будет выглядеть примерно как /api/products/id . Как насчет метода контроллера? Должно ли имя метода включать глагол?
Route("api/products/{id}")]
[HttpGet]
public IEnumerable<Product> FindProduct(string id) { ... }
Комментарии:
1. имя метода в порядке, на самом деле это не отображается на уровне клиента, так что не беспокойтесь
Ответ №1:
Я бы сказал, что «getProduct» будет здесь наиболее очевидным. FindProduct звучит как «больше работы», например, если у вас были критерии, отличные от идентификатора. Ваш пробег может варьироваться в зависимости от этого — только мое мнение.
В общем, вы, вероятно, захотите назвать эти методы так же, как и любой другой метод. Я не уверен, что могу разумно придумать какое-либо хорошее применение для имен методов, в которых не используется глагол — обычно первый в имени. Методы по самой своей природе что-то делают, и вам было бы трудно назвать их чем-то значимым без глаголов. редактировать: также To, As и т.д.
Комментарии:
1. Я согласен с вашим комментарием по имени метода, что он не имеет смысла без глаголов. Что обычно практикуется в этом случае? Я не думаю, что я первый, кто занимается этим 😉
2. @tyrion На самом деле у меня не было большого опыта работы с различными проектами в ASP.NET , но единственное, что я когда-либо видел, — это для целей именования методов «забыть», что они имеют какое-либо отношение к контроллерам, веб-API и маршрутам, и просто идти вперед и вызывать ихвсе, что кажется логичным, следуя тем же соглашениям, что и в любом другом месте. В конце концов, в самих этих методах нет ничего особенного.