Code Snippets

Compartir esta publicación

Share on facebook
Share on linkedin
Share on twitter
Share on email

Code Snippets sirve como herramienta para que los desarrolladores utilicen muestras como documentación, y ayudar al desarrollo antes de leer un tema en su totalidad. Debido a su especial consideración, hemos hecho algunos ejemplos de muestras y fragmentos de código eficaces que siguen:

  • Indicaciones: donde el código se ajusta a los elementos requeridos. Siguiendo las mejores prácticas de código.
  • Propósito: demostrar una funcionalidad específica.

Estos son los Code Snippets de Joaquín Caro, Tech Lead en Apiumhub:

a) Validar y probar las API con RestAssured

Descripción

RestAssured es una librería para validar y probar nuestras APIS. Un ejemplo sencillo para validar si una API cumple con el contrato que queremos sería:

Lenguaje/Framework

Java

@Test
void should_return_allowed_countries() {
    Response response = RestAssured.given()
            .contentType(ContentType.JSON)
            .port(port)
            .header(new Header("Accept-language", "en-US"))
            .when()
            .get("/countries");
    response.then().body(matchesJsonSchemaInClasspath("schemas/countriesResponse.json"));
​
    assertThat(response.statusCode()).isEqualTo(HttpStatus.OK.value());
}

Y el esquema JSON debería ser:

JSON

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "countries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 code of the country."
          },
          "name": {
            "type": "string",
            "description": "The name of the country."
          }
        },
        "required": [
          "code",
          "name"
        ]
      },
      "description": "List of country objects."
    }
  },
  "required": [
    "countries"
  ]
}

b) Interfaz funcional

Descripción

Desde la llegada de Java 8, una interfaz con un solo método se considera una interfaz funcional y puede implementarse como una lambda.

Lenguaje/Framework

Java

// Interface
@FunctionalInterface
public interface FeatureFlagService {
// Interface
@FunctionalInterface
public interface FeatureFlagService {
    Boolean isEnabled(String key);
}
​
// Implementation
FeatureFlagService flagService = key -> true;

Conclusiones

Puedes notar que las interfaces están marcadas con la anotación @FunctionalInterface. Esto es sólo para ayudar a otros desarrolladores a entender que esto es claramente una interfaz funcional, y se supone que sólo tiene un método.

Las interfaces están marcadas con la anotación @FunctionalInterface. Esto es sólo para ayudar a los desarrolladores a entender lo que es una interfaz funcional, y se supone que sólo tiene un único método.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

Acerca de Apiumhub

Apiumhub reúne a una comunidad de desarrolladores y arquitectos de software para ayudarte a transformar tu idea en un producto potente y escalable. Nuestro Tech Hub se especializa en Arquitectura de Software, Desarrollo Web & Desarrollo de Aplicaciones Móviles. Aquí compartimos con usted consejos de la industria & mejores prácticas, basadas en nuestra experiencia.

Posts populares
Obtén nuestro Libro: Software Architecture Metrics

Global Software Architecture Summit '22

Reserva tu plaza!

Reserva

¿Tienes un proyecto desafiante?

Podemos trabajar juntos