¿Qué herramientas necesito para construir una API REST?

En primer lugar, abandone la idea de que va a utilizar la “mejor manera” en su primer intento. No lo hará, y no hay una “mejor manera” para todas las situaciones. Descubrirá que en cada situación que necesita para implementar las comunicaciones REST, los requisitos y el entorno serán diferentes, causando soluciones potencialmente radicalmente diferentes de las API REST anteriores que haya desarrollado.

Dicho esto, las herramientas que necesitará comienzan con un marco que admita comunicaciones de estilo HTTP. Uno podría comenzar sin eso, pero pasaría tanto tiempo implementando protocolos ISO que podría perderse en esos detalles. Prefiero comenzar con un marco que proporcione la capa de comunicaciones de Internet.

Los detalles de la capa de comunicaciones de Internet son importantes, y varían con su idioma y luego con el marco de elección dentro de ese idioma. Por ejemplo, tanto PHP como Javascript son ricos en marcos REST, en la medida en que uno podría implementar media docena de pequeñas API REST en diferentes marcos para aprender un poco sobre diferentes enfoques. Y esos enfoques diferentes varían bastante. En C # y Java hay un conjunto saludable de marcos REST, pero no tantos como PHP y Javascript, y mi sentido posiblemente incorrecto es que las mejores soluciones tienden hacia el código de propiedad, no abierto. Actualmente estoy desarrollando una API REST usando C ++, lo cual es bastante raro, pero para mi entorno en este momento C ++ es el lenguaje correcto para usar. (Es común ver consejos contra los lenguajes compilados para implementar REST o aparentemente cualquier tipo de aplicación web. Hogwash; solo sepa lo que está haciendo y siga las prácticas de codificación segura. Si busca en mis publicaciones aquí sobre REST, encontrará una publicación donde describo el poder de construir servicios REST en C ++.)

Comenzando como está en el desarrollo de REST, vale la pena leer los documentos de algunos de estos marcos para echar un vistazo a las diferentes direcciones que utilizan varios marcos para apoyar la creación de servicios REST. Su mejor herramienta en este momento es usar su cabeza, sus conocimientos de programación anteriores y crear una visión general de los enfoques. Debe pasar un tiempo creando intentos de servicio REST desechables para aprender qué es natural para su estilo de desarrollo y, por lo tanto, dónde están más herramientas de esa naturaleza.

Si necesita un objetivo para sus intentos REST desechables, “simplemente” implemente esquemas de autenticación. Ese tiende a ser uno de los pines de linchamiento de un marco que es útil o no, por lo que es mejor saber dónde se encuentra el caucho con la carretera.