【发布时间】:2022-02-11 14:12:33
【问题描述】:
下午好。 我有以下控制器方法:
/// <summary>
/// Метод создания вида работ
/// </summary>
/// <param name="name">Название вида работ</param>
/// <param name="workUnitId">ИД единицы вида работ</param>
/// <returns>Результат создания вида работ</returns>
[Route(nameof(CreateWorkType))]
[HttpPost]
public async Task<ActionResult<DtoResult<DtoWorkType>>> CreateWorkType(string name, Guid? workUnitId = null)
{
try
{
var result = await _workTypeService.CreateWorkType(name, workUnitId).ConfigureAwait(false);
return Ok(result);
}
catch
{
return BadRequest($"Ошибка при выполнении создания вида работ с именем \"{name}\" и ИД единицы работ \"{workUnitId}\"");
}
}
使用的方法是泛型类DtoResult:
/// <summary>
/// Класс результат
/// </summary>
/// <typeparam name="T">Тип данных сущности</typeparam>
public class DtoResult<T> where T : class, new()
{
#region Свойства
/// <summary>
/// Результат проверки сущности типа данных <see cref="T"/>
/// </summary>
public DtoValidationResult Validation { get; set; } = new DtoValidationResult();
/// <summary>
/// Данные сущности типа данных <see cref="T"/>
/// </summary>
public T Data { get; set; } = new T();
#endregion
}
“业务”类DtoWorkType:
/// <summary>
/// Класс вида работ
/// </summary>
public class DtoWorkType
{
#region Свойства
/// <summary>
/// ИД вида работ
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Название вида работ
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Единица работ для вида работ
/// </summary>
public DtoWorkUnit WorkUnit { get; set; } = new DtoWorkUnit();
#endregion
}
使用 Swagger,自动创建了一个名为 DtoWorkTypeDtoResult 的类。
问题: 是否可以使用 SWAGGER 配置工具或其他机制来确定类的名称,例如使用以下算法:
$"{nameof(T)}Result"
类具有以下名称:DtoWorkTypeResult
不像现在:DtoWorkTypeDtoResult
【问题讨论】:
-
嗨,@Anton,您定制 Swagger 吗?在默认的 Swagger 中,它不会自动创建类名,您可以在
startup or program(.Net6)中提供您的 swagger 配置吗?这是关于自定义招摇的document。
标签: c# swagger asp.net-core-webapi .net-6.0