-- ASP.NET Web API

ASP.NET Web API : Decimal Querystring Parametre Kullanımı

Merhabalar,

ASP.NET Web API ile ilgilenen arkadaşlara kısa ve özet bir püf nokta bilgisi vermek istiyorum.

Bir API geliştiriyorsunuz ve şöyle bir isteğiniz var diyelim;

İstek : Parametre ile decimal bir değer gönderip Web API Action’ı ile bu veriyi yakalamak istiyorum. Doğrudan decimal gönderiyorum ancak ondalıklı veriyi Action yakalayamıyor. Ne yapmalı?

Bu sorunla karşılaştığınıza göre API url’iniz şuna benzerdir.

/api/tools/getNumberAct/19548

Eğer aşağıdaki gibi ondalık değer gönderirseniz action bulunamayacaktır.

/api/tools/getNumberAct/19548.43

Bunun nedeni Action’a verdiğiniz decimal parametrenin nullable(decimal?) olması değildir. Daha da basit…

Çözüm : URL yapısını şu şekilde Request etmelisiniz “/api/tools/getNumberAct/19548.43/”

Evet, URL’in en sonunda bir taksim işareti bulunmalıdır. Action tarafında ise bunu şu şekilde Route etmelisiniz.

[Route("getNumberAct/{number:decimal}/")]   // Dikkat : Route sonundaki "/"
public IHttpActionResult GetNumberAct(decimal number)
{
   ...
}

İyi çalışmalar.
Cihan Özhan

Yorumla

Yorum