SORU
26 Ocak 2013, CUMARTESİ


Birden fazla eylem talep eşleşen bulundu: webapi

2 "" yöntemleri . Almak için çalıştığımda bu hatayı almaya devam ediyorum

Birden fazla eylem talep eşleşen bulundu: webapi

Bu konuda diğer benzer sorulara bakarak çalışıyorum yığında ama anlamıyorum.

2 farklı isimler ve "HttpGet" özniteliği . kullanıyorum

[HttpGet]
public HttpResponseMessage Summary(MyVm vm)
{
    rturn null;
}

[HttpGet]
public HttpResponseMessage FullDetails()
{
    return null;
}

CEVAP
26 Ocak 2013, CUMARTESİ


Yol haritanız muhtemelen bu gibi bir şey:

routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });

Ama aynı http yöntemi ile birden fazla eylem için çok gibi: rota üzerinden daha fazla bilgi ile webapi sağlamak gerekir

routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });

Bu routeTemplate şimdi bir eylem içerir dikkat edin. Çok daha fazla bilgi burada: http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api

Güncelleme:

Anladım Tamam, şimdi buradan sonra ne şuna bir bakalım:

Belki de eylem url parametresi gerekmez ve başka bir şekilde sonra bunun içeriğini açıklamalıdır. Bu yöntem aynı varlık veri dönüyor diyorsunuz ki o zamandan beri sadece parametreleri sizin için tarif yapalım.

Örneğin iki yöntem haline olabilir:

public HttpResponseMessage Get()
{
    return null;
}

public HttpResponseMessage Get(MyVm vm)
{
    return null;
}

Ne tür veriler MyVm nesnesinde geçirmeden? Eğer URİ ile sadece değişkenleri geçmek mümkün iseniz, bu rota gidiş öneririm. Aksi takdirde, ihtiyacınız olacak göndermek nesne vücudun isteği ve bu olmadığını gayet HTTP seni ne zaman yapıyor (çalışıyor olsa da, sadece [FromBody] önünde olan MyVm).

Umarım bu eylem adı hatta [HttpGet] özniteliği kullanmadan tek bir kontrol yöntemleri birden fazla ALMAK zorunda olduğunu göstermektedir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8bitdigitaltv

    8bitdigitalt

    31 AĞUSTOS 2011
  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006