簡體   English   中英

將HTTPPost請求中的JSON數據從Java傳遞到ASP.NET MVC

[英]Passing JSON data in HTTPPost request from Java to ASP.NET MVC

我正在用Java構建的Android應用程序上工作,並且在ASP.NET MVC應用程序中有網站/ REST服務。 我正在嘗試使用Java HttpClient發出HttpPost請求,並在Http請求中傳遞JSON格式的對象,但是它們未顯示在我的MVC REST服務的控制器中。 當我運行該應用程序並通過Java發出請求表單時,它在MVC應用程序中中斷,並且我檢查HttpContext.Request和Params字段為空,QueryString為空,並且在其他所有我看到的地方,它僅顯示“ application / json”但它沒有任何參數。 有人有什么想法嗎? 我遵循的教程顯示了如何使用JSONObject的StringEntity設置實體,但這也不起作用。 如果我正常傳遞參數,例如“ http://www.url.com?name=mike&number=1”,則該參數有效,並且我在MVC控制器中獲取了數據。 是否有人有某種教程,或者可以幫助我編寫代碼?

如果您使用的是ASP.NET MVC 3,則已經有內置的JsonValueProviderFactory ,它允許您直接使用JSON調用操作。 如果您使用的是舊版本,則可以自己實現。 請看以下博客文章,以了解預期的確切電匯格式。

假設您具有以下模型:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

並且您想調用以下控制器操作,並從JSON請求中自動填充參數:

[HttpPost]
public ActionResult Index(Person p)
{
    ...
}

您可以發送以下POST請求:

POST /home/index HTTP/1.1
Host: 127.0.0.1:4569
Accept: application/json, text/javascript, */*
ContentType: application/json; charset=utf-8
Content-Length: 40
Connection: close

{"FirstName":"John", "LastName":"Smith"}

暫無
暫無

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

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