Table of Contents
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
by
Joaquin Caro
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
by
Joaquin Caro
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.
Author
-
Software developer with over 15 years of experience, the last 9 years focussed on JVM. He can play different roles like Software developer, Software Architect, or Tech Lead, always following the best practices and leading by example, delivering high-quality code. Passionate about software craftsmanship and DevOps culture.
Ver todas las entradas