¿Qué es una API? ¿Por qué API en ROR?
Una API es una interfaz de programación de aplicaciones. Es una interfaz entre el interior y el exterior donde el exterior interactúa con el interior utilizando códigos. El interior puede ser un servidor o un dispositivo como un móvil, un iPad, bibliotecas de software como Ruby on Rails, JQuery, etc., que interactúan con HTTP a través de la web.
Las API se construyen como un componente de la aplicación. Básicamente necesitamos tener una API web si queremos almacenar y procesar nuestros datos en el servidor y permitir que cualquier otra aplicación (aplicación web, aplicación móvil, dispositivos iOS, etc.) solicite y obtenga datos de ese servidor si es necesario. Estas otras aplicaciones pueden formar parte de tu sistema o puedes abrir tus datos para que otros los utilicen.
Ventajas de crear una API
Podemos separar el front-end en Angular JS, Ember JS u otros marcos de clientes populares para crear una interfaz de usuario personalizada.
Ventajas:
- Mucha flexibilidad
- Menor costo de mantenimiento
- Mayor escalabilidad
- Sencillez
- El desarrollo de API también le permite integrar fácilmente otras interfaces de usuario, lo que ahorra mucho tiempo.
Desventajas de crear una API
- Dado que el codificador envía mensajes repetidamente con información redundante, esto aumenta el ancho de banda.
- Latencia insignificante
- El uso de encabezados es torpe y vincula la API con la respuesta HTTP.
API REST en rieles
Representational state Transfer convención para Hadoop desarrollado en Web.es el estilo de arquitectura de software para la web. La arquitectura se utiliza para dar flexibilidad para recuperar datos a través de algunos puntos finales. Se ejecuta a través del protocolo HTTP.
¿Cómo se hace una SOLICITUD API?
URL = HTTP, NOMBRE DE HOST, URL
Por ejemplo, URL: -https://portal.ehealthpro.com/blogs
Protocolo SERVIDOR URL
Cada recurso tiene dos URI, uno representa las colecciones de la lista, es decir, https://portal.ehealthpro.com/blogs y otro representa el elemento, es decir, representa el único elemento de esa colección https://portal.ehealthpro.com/blogs/12
Para construir una API, podemos utilizar la gema llamada "gem rails-api"
https://github.com/rails-api/rails-api , Generalmente, la API necesita responder a un identificador uniforme de recursos (URI) y HTTTP. Por lo tanto,
En Rutas,
Espacios de nombres
El generador Rails crea un Userscontroller y las especificaciones de rutas relacionadas. En las rutas anteriores, al definir un espacio de nombres bajo el fichero routes.rb, Rails mapeará automáticamente ese espacio de nombres a un índice que coordina el nombre bajo la carpeta controllers, el directorio api/. Y la respuesta la estamos obteniendo en formato JSON, por lo que sólo tenemos que especificar este formato como el predeterminado. Establecer la API bajo un subdominio debido a escalar la aplicación a un nivel DNS.
Y la opción path sirve para establecer que la ruta de inicio de cualquier petición sea la raíz en relación con el subdominio.
Versionado
Versionar la aplicación proporciona la estructura básica a la API, y también cuando los cambios deben hacerse entonces podemos dar a los desarrolladores la oportunidad de adaptarse a las nuevas características, mientras que las antiguas están siendo obsoletas. Con el fin de establecer la versión de la API, primero tenemos que añadir otro directorio en la API que hemos creado es decir, "v1".podemos añadir alcance nuestra API en diferentes versiones de acuerdo a nuestra conveniencia.
Módulo de alcance: :v1,
Restricciones: ApiConstraints.new(versión: 1, por defecto: true) do
………
Fin
Generando el controlador
Comando utilizado para generar el controlador User, rails generate controller API:: v1::users
Técnicamente JSON es un formato ligero de intercambio de datos, una colección de pares nombre/valor. En varios lenguajes, esto se realiza como un objeto, registro, estructura, diccionario, tabla hash, lista de claves, o matriz asociativa.
En rails existe una gema llamada Active model serializer para implementar la respuesta JSON. Usando esta gema obtendremos el formato adecuado del JSON.
Active Model Serializer es una gran manera de construir respuestas JSON utilizando un enfoque orientado a objetos. Los objetos tienen una sensación muy similar a cómo se configura su objeto ActiveModel en términos de atributos y relaciones. Asimismo, te permite elegir tu conector para decidir qué tipo de estructura JSON se produce-o construir la tuya propia.
Código de estado HTTP, es sólo una manera de decir uniformemente a la persona lo que la respuesta es, si la respuesta muestra error o no.
Y algunos de los códigos de estado son,
200 - OK , Obtención correcta
204 - Sin contenido, Borrar o Publicar con éxito
201 - Creado - Correos con éxito
422 - Entidad no procesable
401- No autorizado, Fallo de autenticación
SEGURIDAD
Por razones de seguridad en nuestra aplicación API, podemos utilizar HTTPS,
Rails.application.configure do
config.force_ssl = true
fin
Finalmente, probando la API,S
línea de comandos: - curl o htttpie
Navegador: - Postman, JSON-Formatter
Rspec :- Solicitar especificaciones
Rails Minitest :- Pruebas de integración
RielesCarma ha estado brindando servicios de consultoría y desarrollo de Ruby on Rails durante los últimos 8 años. Nuestros desarrolladores están bien versados en realizar todo tipo de Trabajo de desarrollo de Ruby on Rails. y manejo de cualquier tipo de proyecto. Contáctenos para saber más sobre nuestras habilidades de desarrollo y los proyectos que podemos manejar.