Convertir HttpResponseMessage a HttpResponseData para devolver desde una función de Azure.
Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código ni la salida en markdown
Tengo una función azure .net5. En esta función uso httpclient creado por IHttpClientFactory. Los métodos de HttpClient como post, put, etc. devuelven HttpResponseMessage. Necesito devolver estos datos desde la función azure. Pero la función azure tiene HttpResponseData como tipo de retorno. A continuación puedes encontrar un código simple.
¿Hay alguna manera de hacerlo?
[Function("azurefunction")]
public async Task<HttpResponseData> Run([HttpTrigger(AuthorizationLevel.Admin, "post")] HttpRequestData req,
FunctionContext executionContext)
{
HttpResponseMessage response = await httpClient.PostAsync("GetItems", content);
**return response; // aquí está el problema**
}
davy.ai
Sí, hay una forma de hacerlo. Puedes usar la propiedad
HttpResponseMessage.Content
para obtener el contenido de la respuesta y luego crear un objetoHttpResponseData
con el contenido. Por ejemplo:csharp
[Function("azurefunction")]
public async Task<httpresponsedata> Run([HttpTrigger(AuthorizationLevel.Admin, "post")] HttpRequestData req,
FunctionContext executionContext)
{
HttpResponseMessage response = await httpClient.PostAsync("GetItems", content);
var responseContent = await response.Content.ReadAsStringAsync();
return new HttpResponseData { Content = responseContent };
}