2017-09-26 45 views
0

我使用JSON來傳遞我的變量按我的API提供者的請求訪問Web API的時候......我附上下面的代碼:走走405不允許的方法「通過我的ASP.NET Web窗體

string url = "http://api-v2.happay.in/auth/v1/adduser"; 
string token = "fcd853a15a6e97b8834255dde74cd99527"; 

string dataToUpload = "{"requestedId":"12389","userId":"134474","firstName":"Maredu Laxmi","lastName":"","emailId":"[email protected]","mobileNo":"096518644","dob":"1978-02-26","gender":"Female","title":"Ms","password":"","metaFields":{"EmpId":"12389","Grade":"D6","Location":"Hyderabad"},"supervisors":[{"supervisorId":"1024","roleName":"RP"},{"supervisorId":"1025","roleName":"RP"}]}"; 

var cli = new WebClient(); 

cli.Headers[HttpRequestHeader.ContentType] = "application/json"; 
cli.Headers[HttpRequestHeader.Authorization] = "Bearer " + token; 

string response = cli.UploadString(url, "POST", dataToUpload); 

我在做什麼錯?

+0

https://stackoverflow.com/questions/15091300/posting-json-to-url-via-webclient-in-c-sharp – Amit

回答

1

405 Method Not Allowed表示您嘗試呼叫的端點(http://api-v2.happay.in/auth/v1/adduser)不支持您嘗試使用的方法(POST)。

RFC 7231, Section 6.5.5

的405(不允許的方法)狀態代碼表示在請求線接收的方法是由源服務器已知的,但不是由目標資源支持。

您確定端點支持POST方法嗎?

RFC還指出,

源服務器必須包含的目標資源的當前支持的方法列表405響應產生Allow頭字段。

您可以檢查回覆,看看他們是否遵循了規範幷包含Allow標題。

+0

是的,他們說它使用POST方法 –

+0

我不知道該說什麼。這顯然是他們的一些事情。如果他們說「將這個有效負載PO​​ST到'http:// api-v2.happay.in/auth/v1/adduser'」,你的代碼看起來很好。您應該與他們交談,並確保您提供的信息是正確的。 – khellang

+0

我懷疑這部分 - cli.Headers [HttpRequestHeader.Authorization] =「承載者」+令牌;這樣對嗎? –