Servicios

La plataforma Devprime ofrece un adaptador de servicios que simplifica la conexión a API externas a través de RPC, HTTP, gRPC, GraphQL y admite estrategias automáticas para sistemas distribuidos como reintentos, disyuntores y resistencia.

En este ejemplo de código se muestra cómo el adaptador de servicios simplifica el acceso a las API externas mediante el comando Dp.Services.HTTP.DpGet, lo que le permite acceder a una API desde otro microservicio basado en la plataforma Devprime y obtener el retorno con tipo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
public override dynamic Handle(DeliveryGetOrder domainEvent)
{
    // Aggregate Root
    var delivery = domainEvent.Get<Domain.Aggregates.Delivery.Delivery>();

    // URL de acesso externo
    var url = $"https://localhost:5001/v1/order/{delivery.OrderID}";

    // Executando o request externo usando http e 
    // conversão automática em OrderCreated.
    var result = Dp.Services.HTTP.DpGet<OrderCreated>(url);

    // Analisando o resultado da consulta externa se retorno 200 ou 201
    if (result.Dp.Status.Equals(200)|| result.Dp.Status.Equals(201))
        return result.Total; // Obtendo o resultado tipado
    else
        return null;
}

Adaptador de servicios y comandos relacionados Dp.Services.HTTP

El adaptador de servicios de la plataforma Devprime ofrece una serie de comandos que implican Post, Get, Put, Delete, Download, e implementaciones especializadas que incluyen métodos que comienzan por “Dp”, como el método DpGet. Además, estos métodos aportan comportamientos inteligentes, como una clase de resultados basada en interfaz DevPrime.Stack.Foundation.Application.IServicesResult.

Dp.Services.HTTP
Obtener Uso en urls externas
Get(url) Introduzca la url como cadena
Get(url,connection) Introduzca la url como una cadena y una conexión
Get(param) Incluir HTTPParameter
Get<T>(url) Introduzca la url y una clase para la conversión automática a <T>
Get<T>(url,connection) Introduzca la url, la conexión y una clase para la conversión automática a <T>
Get<T>(param) HTTPParameter y una clase para la conversión automática a <T>
Resumen Puede usar cualquier clase <T> en Get
DpGet Se utiliza en urls basadas en Devprime
DpGet(url) Introduzca la url como cadena
DpGet(url,connection) Introduzca la url como una cadena y una conexión
DpGet(param) Incluir HTTPParameter
DpGet<T>(url) Introduzca la url y una clase para la conversión automática a <T>
DpGet<T>(url,connection) Introduzca la url, la conexión y una clase para la conversión automática a <T>
DpGet<T>(param) HTTPParameter y una clase para la conversión automática a <T>
Resumen La clase <T> utilizada en DpGet requiere un IServicesResult

Explore ejemplos de implementación:


Última modificación April 11, 2024 (cc33f7e6)