如何从 C# 服务器中的 POST(或其他 HTTP)请求访问参数?

安斯莱恩

我正在使用 ASP.Net Core 构建一个 Reactjs 应用程序,我对此完全陌生。我有一个 JS 组件(据我所知)正在向 C# 服务器控制器发出适当的获取请求 (POST)。服务器最终正在接收请求。但是,我完全不知道如何访问请求的参数(我通过主体传递)。

我尝试使用 [FromBody] 直接访问正文。我还尝试使用 Request.Body、Request.Form、Request.Query、Request.Params 等。我尝试遵循我在网上找到的似乎试图解决我的问题的指南. 其中有几个完全没有用。他们中的大多数都使用了我当前库中没有的关键字、类等,并且他们没有列出相应的库。据我所知,我已经偶然发现了正确的答案。但是对于像我这样具有高度逻辑思维但在该领域的经验几乎为零的人来说,我无法围绕其中的任何一个进行思考。

我在 JavaScript 中使用 fetch 的 POST 请求:

fetch('api/Database/PushStatus',
    {
        method: 'post',
        headers: { 'Content-type': 'application/json' },
        body: JSON.stringify({ order: this.state.orderNum, status: this.state.newStatus })
    }
).then(response => {
    response.json().then(data => {
        this.setState({ reqCheck: "" + response, didPush: false });
    })
}).catch(err => {
    this.setState({ reqCheck: "Failure! (js)", didPush: false })
});

我的 C# 服务器上的请求处理:

[Route("api/[controller]/[action]")]
public class DatabaseController : Controller
{
    string conStri = "Data Source=ADM293\\MSSQLSERVER01;Initial Catalog=testDB;User ID=sa;Password=password.1";
    SqlConnection cnct = null;

    [HttpPost]
    public void PushStatus(string order, string status)
    {
        cnct = new SqlConnection(conStri);
        SqlCommand command = new SqlCommand("insert into testTable values ('" + order + "', '" + status + "');", cnct);

        using (cnct)
        {
            cnct.Open();
            int result = command.ExecuteNonQuery();
            cnct.Close();
        }
    }
}

我想我的服务器与内容进行更新this.state.orderNumthis.state.newStatus相反,我的服务器更新为空字符串值(这很有意义)。

阿尔瓦罗·卡卡塔马约

您可以创建一个表示请求的类:

public class PushStatusRequest
{
    public string Order { get; set; }
    public string Status { get; set; }
}

并像这样使用它:

[HttpPost]        
public void PushStatus([FromBody] PushStatusRequest request){
   //request.Status
   //request.Order
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从其他功能中删除HTTP服务器

Mac:如何从其他计算机远程访问在Docker容器中运行的服务器?

如何将 POST 请求发送到其他服务器绑定文件到 formdata

POST 请求到其他服务器

ScalaPlay> 2.6如何在伪造测试中的琐碎服务器时访问POST请求

ZMQ中的HTTP服务器或如何使用pyzmq处理POST请求?

WSO APIM 2.1.0-如何在请求中访问HTTP POST参数

如何访问SP中其他服务器上的另一个数据库?

SignalR - 如何访问其他服务器端类中的用户映射以向特定用户发送通知

如何POST参数到服务器?

从其他服务器访问MongoDB

如何使用web.py模块将POST参数访问到python Web服务器中?

如何通过纯HTTP在C#Kestrel Web服务器中启用http2?

我应该如何向其他本地服务器发出请求?

如何为分段POST请求添加其他参数?

Jmeter-如何在http请求参数的其他变量内添加“计数器”

c#mvc重新路由请求到其他服务器

如何在简单的 JavaScript 服务器中读取请求的 POST 数据

如何设置 Web 服务器以在 Go 中执行 POST 请求?

无法访问 HTTP 服务器中的 POST 数据

如何使用Lambda在无服务器应用程序中读取POST参数?

如何在各层之间传递http服务器变量,而不将其用作node.js中其他文件中的require语句?

如何访问objective c的其他模块中的swift类

如何允许其他客户端(不在我的局域网中)访问我的Web套接字服务器?

如何在POST请求中向其他Feign客户端发出GET请求?

如何使用其他序列化器反序列化POST请求

React Hooks:如何向服务器发出POST请求

如何发送POST请求到远程服务器?

如何向 PHP 服务器发出 post 请求