Eu ouvi "recurso" e "ponto final" para se referir à mesma coisa. Parece que recurso é um termo mais recente.
Qual a diferença entre eles? "Recurso" implica um design RESTful?
Recurso é um subconjunto RESTful do Endpoint .
Um terminal em si é o local onde um serviço pode ser acessado:
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Um recurso refere-se a um ou mais substantivos que estão sendo veiculados, representados no espaço de nomes, porque é fácil para os seres humanos compreenderem:
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Todas as opções acima podem ser consideradas pontos de extremidade de serviço, mas apenas o grupo inferior seria considerado recursos, falando REST. O grupo principal não é expressivo em relação ao conteúdo que fornece.
Uma solicitação REST é como uma frase composta por substantivos (recursos) e verbos (métodos HTTP):
GET
(método) o usuário chamado johnny
(recurso).DELETE
(método) o livro com o ID 1234
(recurso).O ponto de extremidade normalmente se refere a um serviço, mas recurso pode significar muitas coisas. Aqui estão alguns exemplos de recursos que dependem do contexto em que são usados.
Algo que pode ser usado para ajudá-lo:
A biblioteca era um recurso valioso, e ele freqüentemente fazia uso dele.
Recursos são substâncias naturais, como água e madeira, valiosas para sustentar a vida:
[pl] A Terra tem recursos limitados e, se não os reciclarmos, usá-los.
Recursos também são itens de valor, como dinheiro ou bens, que você pode usar quando precisar:
[pl] O governo não tem recursos para contratar o número de professores necessários.
O termo recurso, por definição, tem muitas nuances. Tudo depende do contexto em que é usado.
Os termos recurso e terminal são frequentemente usados como sinônimos. Mas, na verdade, eles não significam a mesma coisa.
O termo terminal é focado no URL usado para fazer uma solicitação.
O termo recurso é focado no conjunto de dados retornado por uma solicitação.
Agora, o mesmo recurso geralmente pode ser acessado por vários pontos de extremidade diferentes .
Além disso, o mesmo terminal pode retornar recursos diferentes , dependendo de uma sequência de consultas.
Vamos ver alguns exemplos:
Pontos de extremidade diferentes acessando o mesmo recurso
Veja os seguintes exemplos de diferentes pontos de extremidade :
Obviamente, todos eles poderiam acessar o mesmo recurso em uma determinada API.
Também uma API existente pode ser alterada completamente. Isso poderia levar a novos pontos de extremidade que acessariam os mesmos recursos antigos usando URLs totalmente novos e diferentes:
Um terminal acessando recursos diferentes
Se seu nó de extremidade retornar uma coleção, você poderá implementar a pesquisa / filtragem / classificação usando cadeias de consulta. Como resultado, todos os seguintes URLs usam o mesmo ponto de extremidade (
/api/companies
), mas podem retornar recursos diferentes (ou coleções de recursos , que por definição são recursos em si):fonte
Possivelmente a minha não é uma ótima resposta, mas aqui vai.
Desde que trabalhei mais com serviços da Web verdadeiramente RESTful sobre HTTP, tentei desviar as pessoas do uso do termo endpoint, pois ele não tem uma definição clara, e usar a linguagem do REST, que é recursos e localizações de recursos.
Na minha opinião, endpoint é um termo TCP. Ele está em conflito com o HTTP porque parte da URL identifica um servidor de escuta.
Portanto, recurso não é um termo mais novo, acho que acho que o ponto de extremidade sempre foi inapropriado e estamos percebendo isso ao pensar no REST como um estilo de API.
Editar
Eu escrevi sobre isso.
https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819
fonte
Segundo https://apiblueprint.org/documentation/examples/13-named-endpoints.html, é um recurso um local "geral" de armazenamento da entidade especificada - por exemplo, / customers / 30654 / orders, enquanto um endpoint é a ação concreta (Método HTTP) sobre o recurso fornecido. Portanto, um recurso pode ter vários pontos de extremidade.
fonte
Considere um servidor que tenha as informações de usuários, missões e seus pontos de recompensa.
Fonte: pontos finais da API x recursos
fonte
1. Descrição do recurso "Recursos" refere-se às informações retornadas por uma API.
2. Pontos de extremidade e métodos Os pontos de extremidade indicam como você acessa o recurso, enquanto o método indica as interações permitidas (como GET, POST ou DELETE) com o recurso.
Informações adicionais: 3. Parâmetros Parâmetros são opções que você pode passar com o terminal (como especificar o formato da resposta ou a quantidade retornada) para influenciar a resposta.
4. Exemplo de solicitação O exemplo de solicitação inclui uma solicitação de amostra usando o terminal, mostrando alguns parâmetros configurados.
5. Exemplo e esquema de resposta O exemplo de resposta mostra uma resposta de amostra do exemplo de solicitação; o esquema de resposta define todos os elementos possíveis na resposta.
Fonte - Link de referência
fonte