を使用してSwagger UIのモデルスキーマにデフォルトのリクエストデータを割り当てSwagger 6.0.0 with C#を使用してSwagger UIのモデルスキーマにデフォルトのリクエストデータを実装してください。Swagger 6.0.0-rc1-final
答えて
これを解消してより明確にします。
1)送信したリンクに似たサンプルのクラスタイプを保持するだけのRequestExampleAttributeクラスを作成する必要があります。
2)RequestExampleAttributeとアクションメソッドを飾る:
[RequestExample(typeof(MyRequestExample))]
3)MyRequestExampleは、モデルに由来する単純なクラスであり、それはコンストラクタの例値が移入すべての特性を有している以外は
4)あなたのリンクのように操作フィルターを作成してください
5)操作フィルターで、属性を見つけてください(1つのみまたは1つでなければなりません):
RequestExampleAttribute exampleAttr = context.ApiDescription.GetActionAttributes().Where(x => x is RequestExampleAttribute).Cast<RequestExampleAttribute>().FirstOrDefault();
6)exampleAttrがnullの場合、戻り、そうでない場合、Activator.CreateInstanceを有するタイプ(のインスタンスアップ新しい)
7)がcontext.SchemaRegistry.Definitionsセット[0]。実施例インスタンスに作成されました。
object oExample = Activator.CreateInstance(exampleAttr.ExampleType);
context.SchemaRegistry.Definitions[0].Example = oExample;
8)それが動作するかどうかを確認...ない場合、それから読んでいない場合)9
9に進み... [0]。実施例、それはプロパティスキーマから読み出しています、あなたはすべてのプロパティを変更する必要がありますので:
context.SchemaRegistry.Definitions[0].Properties[x].Value.Example
これはキーでプロパティ名を持つだけで辞書のキー/値のペアです。私がコードで行ったことは、辞書キーをループして、正規表現を使用して、手順6で作成したシリアル化されたインスタンスから値を取得することでした。私。 [文字列]、その後Value.Exampleにその文字列をコピー:あなたは「PROP1」を引き出すために正規表現を使用できるように
{
"prop1" : "value1"
}
辞書通じますのでループ、最初のキーは、例えば「PROP1」になります小道具のために。
成功したリターンモデルが「簡単な」場所から読み込んで変更されるので、これを行う必要はありません。うまくいけば、リクエストも「簡単な」場所から引き出されることを願っています。
今すぐ確認してください。
- 1. Swagger codegen .swagger-codegen-ignore not working
- 2. swagger json {"value": "{\" swagger \ ":\" 2.0 \ "、\" info \ "{\" description?
- 3. Swagger-ToolsでのSwagger-UIのカスタマイズ
- 4. Hybris + swaggerの統合swagger-ui.html UnknownResourceError
- 5. Swagger ServletHandlerError
- 6. OSGI環境でSwagger + javadoc生成ツール(swagger-jaxrs-doclet、swagger-core)が動作しない
- 7. django-rest-swaggerダブルスラッシュ
- 8. WebApiとSwagger
- 9. カスタムパスSwagger resources
- 10. ダーツのSwagger-ui
- 11. Swagger Editorのパラメータエラー
- 12. Spring Swagger-ui integration
- 13. Swagger Annotation with Spring
- 14. swagger security Laravel
- 15. swagger + JBoss 6.4 + Resteasy
- 16. Swagger ApiModelPropertyアクセス
- 17. Swagger - index.htmlリダイレクト
- 18. Swagger Editorオフラインインストール
- 19. springfox swagger Jsonエラー
- 20. SpringFox SwaggerとLocalTime
- 21. Swagger .Net Core
- 22. Django Rest Swagger APIView
- 23. APEX Rest API - Swagger
- 24. Swagger Laravel 5.5
- 25. SWAGGER:身体パラメータ
- 26. Swagger HashMapプロパティタイプ
- 27. Swagger + Slimframeworkのエラー
- 28. Mobilefirst 8 Swagger button
- 29. Springfox swagger JSON?
- 30. swagger typescript/angular2クライアント
@Urao - 更新されました。 – SledgeHammer
@Uraoどこからintとstringを取得していますか?ステップ#7では、context.SchemaRegistry.Definitions [0] .Example = oExample;両辺はオブジェクトです。この部分は機能しませんでしたか?あなたは8/9をする必要はないかもしれません。 SchemaRegistry.Definitions [0] .Properties [x] .Value.Ex十分なものもオブジェクトです。 – SledgeHammer
ああ、申し訳ありません...私はデバッガを探していましたが、あなたはcontext.SchemaRegistry.Definitions.First()を実行することができます....(System.Linqを使用して)...ステップ9これまでのところ。 – SledgeHammer