es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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**
}
Tags:  , , ,

Answer

  1. Avatar for 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 objeto HttpResponseData 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 };
    }

Comments are closed.