2016-03-31 8 views
0

POST yöntemimi, kullanıcıların istek gövdesinde yazılan URL veya kodlanmış parametrelerle aramalarına izin verecek şekilde gösterilmesini isterim. Sözdekod:MVU'da FromUri VEYA FromBody'yi kullanma 5

public HttpResponseMessage MyMethod([FromUri, FromBody] parameters) 
{ 
    //.. 
} 

O iki yöntemleri açığa yoluyla bile mümkün değildir:

public HttpResponseMessage MyMethod([FromUri] parameters) 
public HttpResponseMessage MyMethod([FromBody] parameters) 

aynı imzaya sahip çünkü. Bunu basit bir şekilde nasıl başarabilirim?

cevap

2

Bunu kutudan yapamazsınız; İki özelliği birlikte kullanmaya çalışırsanız, bu iyi hatayı alırsınız: 'xxx' parametresini bağlayamaz çünkü üzerinde çelişen özellikler vardır.

İki olası çözüm:

  1. Kullanım iki farklı yöntem, ancak iki farklı fiiller (örneğin bir olsun, tek bir post,) ile - kolay yolu
  2. Sadece [FromUri] ve kullanımı özel bir eylem filtresi Gövde içeriğini kontrol etmek için (this gibi) ve varsa manuel olarak ayrıştırın ve doğru yöntem parametrelerine bağlayın - daha az kolay yol, ancak daha güçlü.

Umarım yardımcı olur :)