【发布时间】:2026-02-14 17:05:01
【问题描述】:
我有一个 ASP.NET Web API 端点,其控制器操作定义如下:
[HttpPost]
public HttpResponseMessage Post([FromBody] object text)
如果我的帖子请求正文包含纯文本(即不应被解释为 json、xml 或任何其他特殊格式),那么我想我可以在我的请求中包含以下标头:
Content-Type: text/plain
但是,我收到错误:
No MediaTypeFormatter is available to read an object of type 'Object' from content with media type 'text/plain'.
如果我将控制器操作方法签名更改为:
[HttpPost]
public HttpResponseMessage Post([FromBody] string text)
我收到一条略有不同的错误消息:
没有 MediaTypeFormatter 可用于从媒体类型为“text/plain”的内容中读取“String”类型的对象。
【问题讨论】:
-
你不希望你的“文本”参数是字符串类型吗?
-
是的,我也想过这个想法,但没有多大帮助(请参阅我修改后的问题)
-
@BaltoStar 我知道你的问题已经 8 个月大了,但我遇到了同样的问题。请参阅下面的答案。
-
嗨 BaltoStar,您能否将@gzou 的答案标记为答案?这将有助于社区将其视为答案。谢谢
标签: c# asp.net-web-api content-type