Los estudiantes que no tienen claro sobre OpenFeign pueden consultar mi artículo: SpringBoot ~ Openfeign se despide de HttpClient de ahora en adelante
Para OpenFeign, nos ayuda a resolver el problema del servidor del servidor. No necesita preocuparse por el URI del servidor, solo necesita saber su nombre de servicio en Eureka. Al mismo tiempo, después de determinar los parámetros y el valor de retorno del método de servicio con el servidor, podemos burlarse de estos métodos del servidor durante las pruebas unitarias, y realmente lograr pruebas unitarias sin interactuar con recursos externos.
Hoy, hablaremos principalmente sobre el problema de leer archivos JSON en Openfeign. Almacenamos los datos requeridos para la prueba en el archivo, y el enfoque es relativamente simple al modificarlo.
La clase de ayuda JSON utiliza principalmente objeto ObjectMapper
/*** Convertir JSON a un objeto. * * @param ruta ruta ruta */ public <t> t fromjson (string ruta, class <t> cls) {try {return ObjectMapper.ReadValue (this.FromResource (ruta, charsets.utf_8), cls); } Catch (Exception e) {Throw New IlegalStateException ("Read JSON falló:" + ruta, e); }} /*** Convertir la matriz JSON a la lista de objetos. * * @param ruta ruta ruta */ public <t> list <t> listFromjson (string ruta, typereference typereference) {try {return ObjectMapper.ReadValue (fromResource (ruta, charsets.utf_8), typereference); } Catch (Exception e) {Throw New IlegalStateException ("Read JSON falló:" + ruta, e); }}En el tipo simulado, puede usar este método para leer el contenido del archivo JSON
@Configuration @perfil ("IntegTest") Public Class ServiceClientMock {@Bean Public ServiceClient RegisterServiceClient () {AccountLient Client = Mock (AccountClient.Class); when (client.del (anyString (), anyString (), anyString (), anMap ())). entoncesreturn (fromjson ("order/orders.json", map.class)); }}El código anterior simula principalmente el método Del en el objeto ServiceClient. Tiene tres parámetros de entrada de caracteres, y el valor de retorno se lee desde el archivo JSON. En la prueba unitaria, el objeto ServiceClientMock se inyecta directamente.
Como puede ver en la anotación @profile, se ejecuta en el entorno IntegTest, y en el entorno de producción, utilizará servicios reales.
Resumir
Lo anterior es el SpringBoot OpenFeign Reading Data de los archivos JSON introducidos por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!