これは私の最初のWebアプリケーションで、最初のWebアプリケーションであり、Iveはswashbucklerを使ってswaggerを初めて使用しました。 私は機器データベースのテーブルにTPHを使用しています。
たとえば、機器から継承したいくつかの子クラスを持つ機器という基本クラスがあります。 (これは実際のコードではありませんので、私はすべてのパブリックなどを入れていません)
私のブラウザでスワッガーを実行すると、モデルの説明は機材クラスのモデルを返すだけです
私はどのように表示するかを尋ねました可能なすべてのモデルですが、C#、またはドキュメンテーションのコメントを使用するAPIコントローラに関係しないため、返信を理解できません。また、これ以上のことを私が理解している人のために書かれています。
誰でもサンプルを投稿したり、初心者のチュートリアルを教えてください。どのようにしてすべての可能なモデルを表示するかについて教えてください。私はこれを回避するためにいくつかの異なるAPIコールを書く必要がありました。ちょうどモデルが表示されます。
おかげ
c#、web api、swashbuckler/swagger
class equipment
{
public int id{get;set;}
public int foo{get;set;}
public int bar{get;set;}
}
class bucket : equipment
{
public int booboo{get;set;}
}
class mop : equipment
{
public int lala{get;set;}
}
// equipmentcontroller class get function
/// <summary>
/// Returns a piece of equipment.<br/>
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[Route(@"{id:int}"), ResponseType(typeof(equipment))]
public IHttpActionResult GetMop(int id)
{
return result != null ? (IHttpActionResult)Ok(GetMop[id]) : NotFound();
}
ワイヤー上でインターフェースと継承を公開するのは悪い考えです(DBエンティティを公開する悪い考え方)、疎結合シリアライザの形式はカスタムハッキングなしでサポートしていません(例wcfやjsonカスタムタイプなど)。それをxsdで記述してください。私が見たすべてのプロジェクトは、誰がそれを引き出してしまったのですか? – user1496062