Автоматическая установка
Мне нужно знать, возможно ли установить пользовательский идентификатор операции или соглашение об именах. Я имею в виду, что фильтр операции может быть перезаписан при генерировании идентификатора операции.
using Swashbuckle.Swagger;
using System.Web.Http.Description;
namespace Something
{
public class MultipleOperationsWithSameVerbFilter : IOperationFilter
{
public void Apply(
Operation operation,
SchemaRegistry schemaRegistry,
ApiDescription apiDescription)
{
if (operation.parameters != null)
{
operation.operationId += "By";
foreach (var parm in operation.parameters)
{
operation.operationId += string.Format("{0}",parm.name);
}
}
}
}
}
в SwaggerConfig.cs
c.OperationFilter<MultipleOperationsWithSameVerbFilter>();
Теперь это полезное преобразование описания чванства, проверьте ниже:
Все хорошо, теперь я в конечном итоге в более темном месте, пример похож на случаи: на одном контроллере у меня есть две конечные точки
Сообщение: / тело клиента: {электронная почта, местоположение ....}Post: / customer / search boddy: {фильтр, что угодно}Пример не совсем корректный (последний пост должен быть get), но все же предполагается, что webapi не может быть изменен (новый контроллер для разделения) для этого конкретного случая. Я попытаюсь найти способ как-то сгенерировать OperationId diffrent для каждого действия, но мой вопрос заключается в следующем:
Можно ли как-то украсить действия контроллера, аналогичные [JsonIgnore] или [Route ("customer / delete")], чтобы явно указатьOperationID.