Заголовок типа содержимого в функции Azure - PullRequest
0 голосов
/ 26 мая 2020

Как я могу вернуть заголовок HTTP Content-Type «application / json»? Не могу найти образец в net ...

[FunctionName("Function1")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
    string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

    Dictionary<string, string> dd = Parser(requestBody);
    string json = JsonConvert.SerializeObject(dd);

    if (json == null)
    {
        return new BadRequestObjectResult("Please pass request body");
    }

    return (ActionResult)new OkObjectResult(json);
}

Ответы [ 2 ]

2 голосов
/ 27 мая 2020

Я полагаю, вы ищете класс CreateResponse:

var jObject = JObject.Parse(resp);

var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(jObject.ToString(), Encoding.UTF8, "application/json");
return response;
1 голос
/ 27 мая 2020

Вы можете сделать это, обратившись к объекту Response через запрос HttpContext:

[FunctionName("Function1")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
    string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

    Dictionary<string, string> dd = Parser(requestBody);
    string json = JsonConvert.SerializeObject(dd);

    if (json == null)
    {
        return new BadRequestObjectResult("Please pass request body");
    }

    //add this line...
    req.HttpContext.Response.Headers.Add("Content-Type", "application/json");

    return (ActionResult)new OkObjectResult(json);
}
...