嗨,我是 Azure 函数的新手,我正在使用 VS 2017 15.4 并在本地运行 helloworld 函数应用程序。我能够对这个函数进行 get 请求,但是当我在同一个 uri 上执行 post 时,它给出了。
mscorlib:执行函数时出现异常:HelloWorld。System.Net.Http.Formatting:没有 MediaTypeFormatter 可用于从媒体类型为“application/octet-stream”的内容中读取“Object”类型的对象。
你能告诉我我忘记了粗线是什么在发布请求中给出了问题,我尝试过使用 contentType 而没有使用 ContentType;有身体和没有身体。
如何在 azure 函数中解析请求正文中的 Json 对象。我可以的一种方法是将其解析为字符串,然后使用 jsonconvert 反序列化。他们有没有更好的方式来做这件事,比如 valueproviders 模型绑定器等。
[FunctionName("HelloWorld")]
public static async Task Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
// Get request body
*dynamic data = await req.Content.ReadAsAsync<object>();*
// Set name to query string or body data
name = name ?? data?.name;
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}.
假设Content-Type
您的 HTTP 请求的标头设置为application/json
.
请注意,如果标头的值为multipart/form-data
,则这是此处记录的已知错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句