2015-05-24 14 views
5

ile Swashbuckle ve Web Api yöntemi Giriş parametresi için özel bir ModelBinder kullanan bir yöntemle bir C# WebAPI projem var. Swashbuckle'ın ürettiği Swagger UI'sine baktığımda, tek bir "body" parametresine sahip olmak yerine, yöntemin parametrelerinin tüm özelliklerinin ayrı ayrı listelenir. [ModelBinder] özniteliğinden kurtulur ve [FromBody] özniteliğine geçilirse, Swagger UI doğru olanı gösterir. [ModelBinder] özelliğini kullanmalıyım, bu yüzden bunu değiştirmek bir seçenek değildir.ModelBinder

Swashbuckle'ın "[FromBody] öznitelik stili" oluşturduğu birden çok parametre yerine tek parametre oluşturmasını sağlamanın bir yolu var mı?

+1

Neden onları sadece IHttpActionResult Foo ([FromBody] [ModelBinder] SomeModel model) gibi zincirlemiyorsunuz? –

+1

Swagger UI'sini düzeltmesine rağmen, API'nin kendisini tamamen bozar ... '" ExceptionMessage ":" Parametre 'iletisini' bağlayamaz çünkü 'üzerinde çelişen öznitelikler var. "' – HenryC

+0

Tam örnek (model) ekleyebilir misiniz , modelbinder, API metodu imzası)? –

cevap

0

Ondrej haklı. Sadece onları zincirleyin:

IHttpActionResult Foo([FromBody][ModelBinder]SomeModel model) 
+0

ModelBinder.AllowMultiple = false'den bu yana API'ye başvururken hataya yol açabilir. Böylece, herhangi bir API'ye başvurmak 500 cevaba yol açacaktır. – Roni