He escuchado que "recurso" y "punto final" se refieren a lo mismo. Parece que recurso es un término más nuevo.
¿Cuál es la diferencia entre ellos? ¿El "recurso" implica un diseño RESTful?
Resource es un subconjunto RESTful de Endpoint .
Un punto final en sí mismo es la ubicación donde se puede acceder a un servicio:
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Un recurso se refiere a uno o más sustantivos que se sirven, representados en espacios de nombres, porque es fácil para los humanos comprender:
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Todo lo anterior podría considerarse puntos finales de servicio, pero solo el grupo inferior se consideraría recursos, hablando RESTANTE. El grupo superior no es expresivo con respecto al contenido que proporciona.
Una solicitud REST es como una oración compuesta de sustantivos (recursos) y verbos (métodos HTTP):
GET
(método) el usuario llamado johnny
(recurso).DELETE
(método) el libro con id 1234
(recurso).El punto final generalmente se refiere a un servicio, pero el recurso podría significar muchas cosas. Aquí hay algunos ejemplos de recursos que dependen del contexto en el que se usan.
Algo que puede usarse para ayudarlo:
La biblioteca era un recurso valioso y con frecuencia la utilizaba.
Los recursos son sustancias naturales como el agua y la madera que son valiosas para mantener la vida:
[pl] La tierra tiene recursos limitados, y si no los reciclamos, los usamos.
Los recursos también son cosas de valor, como dinero o posesiones, que puede usar cuando los necesite:
[pl] El gobierno no tiene los recursos para contratar el número de maestros necesarios.
El término recurso, por definición, tiene muchos matices. Todo depende del contexto en el que se use.
Los términos recurso y punto final a menudo se usan como sinónimos. Pero, de hecho, no significan lo mismo.
El término punto final se centra en la URL que se utiliza para realizar una solicitud.
El término recurso se centra en el conjunto de datos que devuelve una solicitud.
Ahora, se puede acceder al mismo recurso a través de múltiples puntos finales diferentes .
Además, el mismo punto final puede devolver diferentes recursos , dependiendo de una cadena de consulta.
Veamos algunos ejemplos:
Diferentes puntos finales que acceden al mismo recurso
Eche un vistazo a los siguientes ejemplos de diferentes puntos finales :
Obviamente, todos podrían acceder al mismo recurso en una API determinada.
También una API existente podría cambiarse por completo. Esto podría conducir a nuevos puntos finales que accederían a los mismos recursos antiguos utilizando URL totalmente nuevas y diferentes:
Un punto final que accede a diferentes recursos
Si su punto final devuelve una colección, puede implementar la búsqueda / filtrado / clasificación utilizando cadenas de consulta. Como resultado, las siguientes URL utilizan el mismo punto final (
/api/companies
), pero pueden devolver diferentes recursos (o colecciones de recursos , que por definición son recursos en sí mismos):fuente
Posiblemente la mía no sea una gran respuesta, pero aquí va.
Dado que trabajé más con servicios web verdaderamente RESTful a través de HTTP, he tratado de alejar a las personas del uso del término punto final ya que no tiene una definición clara, y en su lugar uso el lenguaje de REST, que es recursos y ubicaciones de recursos.
En mi opinión, el punto final es un término TCP. Se combina con HTTP porque parte de la URL identifica un servidor de escucha.
Por lo tanto, recursos no es un término más nuevo, no creo, creo que el punto final siempre fue malversado y nos estamos dando cuenta de eso a medida que nos concentramos en REST como un estilo de API.
Editar
Yo blogueé sobre esto.
https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819
fuente
Según https://apiblueprint.org/documentation/examples/13-named-endpoints.html es un recurso, un lugar "general" de almacenamiento de la entidad dada, por ejemplo, / clients / 30654 / orders, mientras que un punto final es la acción concreta (Método HTTP) sobre el recurso dado. Por lo tanto, un recurso puede tener múltiples puntos finales.
fuente
Considere un servidor que tenga la información de usuarios, misiones y sus puntos de recompensa.
Fuente: API Endpoints vs Resources
fuente
1. Descripción del recurso "Recursos" se refiere a la información devuelta por una API.
2. Puntos finales y métodos Los puntos finales indican cómo accede al recurso, mientras que el método indica las interacciones permitidas (como GET, POST o DELETE) con el recurso.
Información adicional: 3. Parámetros Los parámetros son opciones que puede pasar con el punto final (como especificar el formato de respuesta o la cantidad devuelta) para influir en la respuesta.
4. Ejemplo de solicitud El ejemplo de solicitud incluye una solicitud de muestra utilizando el punto final, que muestra algunos parámetros configurados.
5. Ejemplo de respuesta y esquema El ejemplo de respuesta muestra una respuesta de muestra del ejemplo de solicitud; El esquema de respuesta define todos los elementos posibles en la respuesta.
Fuente- Enlace de referencia
fuente