gpt4 book ai didi

c# - 尝试在本地 C# web api 中使用 Postman PUT 字符串,始终为 null 或失败

转载 作者:行者123 更新时间:2023-11-30 15:21:53 25 4
gpt4 key购买 nike

我目前在本地运行这个 WEB API:

// POST api/CsvParse
[HttpPut]
public void Put([FromBody]string value)
{
if (string.IsNullOrEmpty(value))
throw new Exception("Input is null or empty.");
}

我目前在本地运行它,并且正在使用 POSTMAN 向 put 发送一个字符串。我选择了正文选项卡,并将字符串粘贴到原始正文选项卡中:

enter image description here

它指出我的文本不受支持,或者当我添加断点时该值为空,或者我收到描述格式不正确的错误。

我做错了什么?

最佳答案

那是因为没有媒体类型格式化程序可以将原始字符串序列化到您的模型中(您的路由参数带有 [FromBody] 属性)。

一个快速而肮脏的解决方法是直接将请求的主体作为字符串读取:

[HttpPut]
public async Task<HttpResponseMessage> Put(HttpRequestMessage request)
{
var myCsv = await request.Content.ReadAsStringAsync();

// do stuff with your string

return new HttpResponseMessage(HttpStatusCode.OK);
}

作为替代方案,您可以根据 this answer 自己实现自定义媒体类型格式化程序.

关于c# - 尝试在本地 C# web api 中使用 Postman PUT 字符串,始终为 null 或失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36600891/

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