簡體   English   中英

C#WebApi POST方法和TypeScript

[英]C# WebApi POST Method and TypeScript

我正在嘗試使用TypeScript代碼以及Chrome Advanced Rest Client調用簡單方法,但出現404錯誤。

WebApi方法

[HttpPost]
[Route("api/offert/TestPost")]
public IHttpActionResult TestPost(int idid)
{
    //http://localhost/prova/api/offert/TestPost

    var anonymousTypeVar = new { x = 15, y = 120 };
    return Json(anonymousTypeVar);
}

TypeScript代碼

var data = { idid: 1};

this.baseUrl = 'http://localhost/prova/api/offert/';
this.http.post(this.baseUrl + "TestPost", JSON.stringify(data), 
this.getRequestOptions)
      .map(response => response.json())
      .subscribe();

在這一刻,我仍然收到404錯誤...

我知道我可以將傳遞“?idid = 1”作為參數的url連接起來,但是我想將Json字符串傳遞給webmethod ...

我該如何更改代碼?

謝謝

我想知道您的JSON數據是否有問題...我確定MVC會愉快地將具有鍵值對的URL或正文映射到簡單的參數,即

idid=1 -> int id

但是您將通過:

{ idid: 1 }

需要映射到...

public class OffertRequest
{
    public int idid { get; set; }
}

因此,您的API將是:

public IHttpActionResult TestPost(OffertRequest idid)

或者,在請求正文中傳遞簡單的鍵/值對。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM