Vb.net 通过a<;Frombody()>;类-始终为空

Vb.net 通过a<;Frombody()>;类-始终为空,vb.net,asp.net-web-api,fiddler,Vb.net,Asp.net Web Api,Fiddler,我正在用VB创建一个api conroller类。我有一个非常简单的函数: Public Function Post(<FromBody()> ByVal value As String) As String Return value End Function 在Application-Start()下的Global.ASAX.vb中: 我也从小提琴手4尝试过这个,但我得到: {“Message”:“请求包含一个实体体,但没有内容类型 标头。推断的媒体类型“应用程序/八位字

我正在用VB创建一个api conroller类。我有一个非常简单的函数:

Public Function Post(<FromBody()> ByVal value As String) As String
    Return value
End Function
Application-Start()下的
Global.ASAX.vb
中:

我也从小提琴手4尝试过这个,但我得到:

{“Message”:“请求包含一个实体体,但没有内容类型 标头。推断的媒体类型“应用程序/八位字节流”不正确 此资源支持。“,“ExceptionMessage”:“否” MediaTypeFormatter可用于读取“String”类型的对象 从媒体类型的内容 “应用程序/八位字节流”。“异常类型”:“System.Net.Http.UnsupportedMediaTypeException”,“StackTrace”: 在System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent 内容、类型、IEnumerable'1格式化程序、IFormatterLogger formatterLogger,CancellationToken CancellationToken)\r\n位于 System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage 请求,类型,IEnumerable'1格式化程序,IFormatterLogger formatterLogger,CancellationToken CancellationToken)“}

或者,当我尝试在标题中设置内容类型时,我会得到:

没有MediaTypeFormatter可用于读取“String”类型的对象 从媒体类型为的内容

我设置的媒体类型在哪里


如何使这个简单的POST工作?

看起来您用于API的框架不知道如何根据您在请求中设置的内容类型头解析POST请求正文的内容

还有你的


您可以手动添加支持的内容类型,也可以根据上面链接中的一个答案手动读入请求内容。或者,您可以将控制器更改为。

您用于API的框架似乎不知道如何根据您在请求中设置的内容类型头解析POST请求正文的内容

还有你的


您可以手动添加支持的内容类型,也可以根据上面链接中的一个答案手动读入请求内容。或者您可以将控制器更改为。

这可能是对该问题的一个相当不错的回答。然而,我走了另一条路,不能真正证明有时间用提供的答案重新测试这个问题。希望其他人会觉得这很有用。这可能是对这个问题的一个相当不错的回答。然而,我走了另一条路,不能真正证明有时间用提供的答案重新测试这个问题。希望其他人会觉得这很有用。
config.Routes.MapHttpRoute(
        name:="Names",
        routeTemplate:="{controller}/{id}",
        defaults:=New With {.id = RouteParameter.Optional}
RouteTable.Routes.MapHttpRoute(name:="Post", routeTemplate:="post", defaults:=New With {.symbol = RouteParameter.Optional, .controller = "Names"})