Azure 函数发布问题

拉克什

嗨,我是 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章