gpt4 book ai didi

java - 将 HTTPPost 请求中的 JSON 数据从 Java 传递到 ASP.NET MVC

转载 作者:行者123 更新时间:2023-12-01 05:38:29 25 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,该应用程序是用 Java 构建的,并且我在 ASP.NET MVC 应用程序中有一个网站/REST 服务。我正在尝试使用 Java HttpClient 发出 HttpPost 请求,并在 http 请求中传递 JSON 格式的对象,但它们没有显示在我的 MVC REST 服务的 Controller 中。当我运行应用程序并从 Java 发出请求时,它会在 MVC 应用程序中中断,我检查 HttpContext.Request 且 Params 字段为空,QueryString 为空,而我查看的所有其他位置仅显示“application/json”但它没有任何参数。有人有什么想法吗?我已经按照教程展示了如何使用 JSONObject 的 StringEntity 设置实体,但这也不起作用。如果我正常传递诸如“http://www.url.com?name=mike&number=1”之类的参数,那么它就可以工作,并且我会在 MVC Controller 中获取数据。有人有某种教程或者可以帮助我编写代码吗?

最佳答案

如果您使用的是 ASP.NET MVC 3,则已经有一个内置的 JsonValueProviderFactory,它允许您直接使用 JSON 调用操作。如果您使用的是旧版本,您可以自己实现一个。查看 following blog post 以了解预期的确切传输格式。

假设您有以下模型:

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

并且您想要调用以下 Controller 操作并从 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"}

关于java - 将 HTTPPost 请求中的 JSON 数据从 Java 传递到 ASP.NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7745553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com