Vb.net 通过a<;Frombody()>;类-始终为空
我正在用VB创建一个api conroller类。我有一个非常简单的函数: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”:“请求包含一个实体体,但没有内容类型 标头。推断的媒体类型“应用程序/八位字
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"})