Magneto quiere reclutar la mayor cantidad de mutantes para poder luchar contra los X-Men.
/Mutant
Atravez de la API /mutant detecta si un humano es mutante basandose en su secuencia de ADN, la API recibe como argumento un parametro de array de strings que representa cada fila de una tabla de (NxN) con la secuencia del ADN.
En caso de que se verifique un mutante la API retornara un HTTP 200-OK, en caso contrario un 403-Forbidden
Esta API tiene las siguientes validaciones de lista blanca:
- No permite arreglo vacio
- No permite arrelo nulo
- No permite texto de longitudes diferentes a la longitud del array
- Solo permite texto que contenga las letras (A,T,C,G)
/stats
Atravez de la API /stats retorna un Json con las estadisticas de las verificaciones de ADN, por ejemplo:
{“count_mutant_dna”:40, “count_human_dna”:100: “ratio”:0.4}
- Clone el repositorio
https://github.com/cristian3140421/mutants.git
-
importelo en su IDE, de preferencia Intellij, como un proyecto gradle
-
Si no tiene habilitado la auto descarga de dependencias de un proyecto gradle hagalo manual, en caso contrario espere a que este termine de descargar todas las dependencias:
-
Ten en cuenta usar Java 11
-
Ejecute la clase MutantsApplication.java que se encuentra en el paquete com.mutants
POST -> http://localhost:8080/mutant
Si quieres hacer la prueba con un:
{
"dna":["ATGCGA","CAGTGC","TTATGT","AGAAGG","CCCCTA","TCACTG"]
}
{
"dna":["GTGCTA","CAGTGC","TGAAGT","AGTGGG","CGCCTA","TCACAT"]
}
GET -> http://localhost:8080/stats
Tambien puede usar este servicio que se encuentra hosteado en Amazon Web Services con las siguientes URLs
POST -> http://ec2-3-21-230-136.us-east-2.compute.amazonaws.com/mutant
GET -> http://ec2-3-21-230-136.us-east-2.compute.amazonaws.com/stats
Puedes usar la imagen publica cristian159/mutants https://hub.docker.com/repository/docker/cristian159/mutants
Puedes usar el siguiente comando docker:
docker run -d -p 8080:8080 cristian159/mutants
Con esto se creara un contenedor con el aplicativo el cual se podra acceder por medio de docker host que puede ser la URL http://localhost:8080 esto depende si tienes docker for windows para windows 10 pro o si tienes docker con virtuabox el cual te proveerá una URL diferente.
Tambien puedes crear la imagen local.
- Construyes el proyecto, posicionado en la raiz del proyecto
gradle build
- Ejecutas el Dockerfile
docker build -t <nombre de imagen> .