JSON verileri, sorgu dizesi/tarayıcı URL'sinde değil, serileştirilmesi için istekte bulunmalıdır.
Ayrıca, 'string userInfo' beklediğiniz gibi çalışmayacaktır. JSON nesnesinin parametrelerini temsil eden bir sınıf tanımlayabilirsiniz ve doğru şekilde çalışacaktır.
public class UserInfo
{
public int Id { get; set;}
public string UserName { get; set;}
public string Email { get; set;}
}
ve bu satırı değiştirin:
Bu, örneğin çalışacak
public HttpResponseMessage GetUniqueUserByEmail(UserInfo userInfo)
Düzenleme:
bir başkasının sizi yönlendirmesini kullanmak geçmek için ihtiyaç duyduğu bir url varsa:
https://site/api/UniqueUser/1/Jxj Bdn/[email protected]
Ve denetleyicisi:
[Route("api/UniqueUser/{id}/{userName}/{email}")]
public HttpResponseMessage GetUniqueUserByEmail(int id, string userName, string email)
burada göz çok geleneksel sorgu dizesi parametreleri ile bunun nasıl görmek için:
şiddetle olsa ilk yöntemini kullanarak öneririm
http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
, bu size güçlü bir nesne verir ve detaylar değişirse başa çıkmak çok daha kolaydır ve modelin onaylanmasında yapının avantajını elde edersiniz.
Müşterilerinizin kullanması için basit bir HTML formu oluşturamaz mısınız?
, bir hizmet uygulaması olduğunu söylediğim için, kullanıcıya bir URL'yi başka bir şey vermem gerekiyor, bu durumda ne yaptığımı. – shamim
Cevabımı güncelleyeceğim –