ASP.NET Core WebApiプロジェクトでSwaggerを試していますが、コントローラーの説明を除いて、すべて正常に動作します。
たとえば、UredskoPoslovanjeControllerがあり、Swagger UIの説明はUredskoPoslovanjeであり、それを変更する方法が見つかりません。
私が見つけた解決策だけがここにリストされていますが、バージョン管理はまったく同じ属性を使用しているため、これはAPIバージョンと競合していると思います[ApiExplorerSettings(GroupName="v2")]
この部分のswagger.jsonは次のとおりです。swagger.jsonのUredskoPoslovanje部分
そして、私のコントロールは次のように定義されています。
/// <summary>
/// Uredsko poslovanje API
/// </summary>
[Authorize]
[Route("api/[controller]")]
public class UredskoPoslovanjeController : Controller
{
private LinkDbContext ctx;
public UredskoPoslovanjeController(LinkDbContext ctx)
{
this.ctx = ctx;
}
/// <summary>
/// Vraća broj pismena za zadani OIB
/// </summary>
/// <param name="OIB">OIB korisnika za koji se traži broj pismena</param>
/// <returns>Vraća broj pronađenih pismena</returns>
/// <response code="200">Vraća broj pismena za traženi OIB</response>
/// <response code="400">OIB ne postoji</response>
/// <response code="401">Nemate pristup metodi (neispravna autorizacija)</response>
[HttpGet("BrojPismena/{oib}")]
public ActionResult<BrojPismenaModel> DajBrojPismena(string OIB)
{
if (string.IsNullOrWhiteSpace(OIB)) return BadRequest("OIB ne smije biti prazan");
else
{
var osoba = ctx.Osoba.FirstOrDefault(x => x.Oib == OIB);
if (osoba == null) return BadRequest($"Osoba s OIB-om '{OIB}' ne postoji!");
else
{
return Ok(new BrojPismenaModel() { OIB = OIB, BrojPismena = ctx.UpPismeno.Count() });
}
}
}
}
コントローラの説明として「UredskoposlovanjeAPI」を期待しますが、それは起こりません-swaggeruiスクリーンショット
コントローラの説明を適切に設定する方法はありますか?
ありがとう、マリオ
デフォルトでは、コントローラーのコメントは含まれていません。IncludeXmlCommentsメソッドには、コントローラーのXMLコメントを使用する必要があるかどうかを示すブール値をとるバージョンがあります。以下のコードは、私のスタートアップ:ConfigureServicesメソッドからのものです。
元の:
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
新着:
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath, true); // <== Added the true here, to show the controller description
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加