gpt4 book ai didi

c# - 如何在 WEB API 中获取 WWWForm

转载 作者:行者123 更新时间:2023-11-30 16:45:26 24 4
gpt4 key购买 nike

在我的 WebApi 中我有这个 POST 方法:

    [HttpPost]
[EnableCors(origins: "*", headers: "*", methods: "*")]
[Route("api/user/save")]
public void Save([FromBody]string userinfo)
{
using (var context = new CarWarsEntities())
{
var a = "";
}
}

我在我的 Unity 项目中使用以下代码调用它:

    var url = "http://localhost:61506/api/user/save";
var form = new WWWForm();
form.AddField("EXP", GameControl.control.EXP);
form.AddField("Health", GameControl.control.Health);
form.AddField("Silver", GameControl.control.Silver);
form.AddField("Gold", GameControl.control.Gold);
form.AddField("Ammo", GameControl.control.Ammo);
form.AddField("Nitro", GameControl.control.Nitro);
var www = new WWW(url, form);

调用有效,但 userInfo 字符串始终为空。如何在我的 WebApi 中获取 WWWForm 字段?

这是来自 fiddler 的 WebForm: enter image description here

最佳答案

我认为你做这样的事情可能会更幸运:

public class UserInfo
{
public int EXP {get; set}
public int Health {get; set}
public int Silver {get; set}
public int Gold {get; set}
public int Ammo {get; set}
public int Nitro {get; set}
}

然后在 Controller 中稍微更改您的代码:

[HttpPost]
[EnableCors(origins: "*", headers: "*", methods: "*")]
[Route("api/user/save")]
public void Save([FromBody]UserInfo userinfo)
{
using (var context = new CarWarsEntities())
{
var a = "";
}
}

这样,WebApi 会为您将表单直接映射到一个对象。我怀疑它现在正试图为您做些什么,但它无法做到这一点。

如果这对您不起作用,请查看 Fiddler 中的原始选项卡以查看正在发送的 JSON。它应该匹配 UserInfo 对象。

希望对您有所帮助。

关于c# - 如何在 WEB API 中获取 WWWForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42168792/

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