Serviços: API REST. URL - Recurso



Documentos relacionados
O Livro dos Espíritos - Tradução Evandro Noleto Bezerra (Portuguese Edition)

Biscuit - potes (Coleção Artesanato) (Portuguese Edition)

Vaporpunk - A fazenda-relógio (Portuguese Edition)

Comportamento Organizacional: O Comportamento Humano no Trabalho (Portuguese Edition)

Como testar componentes eletrônicos - volume 1 (Portuguese Edition)

GERENCIAMENTO DA ROTINA DO TRABALHO DO DIA-A-DIA (EM PORTUGUESE DO BRASIL) BY VICENTE FALCONI

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company Manual

Higiene e Vigilância Sanitária de Alimentos (Portuguese Edition)

ATLAS COLORIDO DE ANATOMIA VETERINáRIA DE EQUINOS (EM PORTUGUESE DO BRASIL) BY STANLEY H. ASHDOWN RAYMOND R. DONE

2 Categorias Categories Todas as categorias de actividade são apresentadas neste espaço All activity categories are presented in this space

Transtorno de Personalidade Borderline Mais de 30 segredos para retomar sua vida Ao lidar com TPB (Portuguese Edition)

Erros que os Pregadores Devem Evitar (Portuguese Edition)

GERENCIAMENTO DA ROTINA DO TRABALHO DO DIA A DIA (PORTUGUESE EDITION) BY VICENTE FALCONI

Meditacao da Luz: O Caminho da Simplicidade

Pesquisa de Marketing: Uma Orientação Aplicada (Portuguese Edition)

As revoluções russas e o socialismo soviético (Portuguese Edition)

Planejamento de comunicação integrada (Portuguese Edition)

Espionagem e Vigilância Eletrônica (Portuguese Edition)

Bíblia do Obreiro - Almeida Revista e Atualizada: Concordância Dicionário Auxílios Cerimônias (Portuguese Edition)

VIAGEM A SALVADOR DA BAHIA PDF

Medicina Integrativa - A Cura pelo Equilíbrio (Portuguese Edition)

GERENCIAMENTO PELAS DIRETRIZES (PORTUGUESE EDITION) BY VICENTE FALCONI

Remuneração, Benefícios e Relações de Trabalho: Como Reter Talentos na. Organização (Série Recursos Humanos) (Portuguese Edition)

Aprendi A Fazer Sexo Na Bíblia (Portuguese Edition)

PL/SQL: Domine a linguagem do banco de dados Oracle (Portuguese Edition)

Finanças pessoais: o que fazer com meu dinheiro (Portuguese Edition)

Os 7 Hábitos das Pessoas Altamente Eficazes (Portuguese Edition)

Farmacologia na Pratica de Enfermagem (Em Portuguese do Brasil)

Estatística Aplicada: Administração, Economia e Negócios (Portuguese Edition)

As 100 melhores piadas de todos os tempos (Portuguese Edition)

Bíblia do Obreiro - Almeida Revista e Atualizada: Concordância Dicionário Auxílios Cerimônias (Portuguese Edition)

Welcome to Lesson A of Story Time for Portuguese

TEN CATE. HISTOLOGIA ORAL (EM PORTUGUESE DO BRASIL) BY ANTONIO NANCI

Esboços e Sermões Completos para Ocasiões e Datas Especiais: Mensagens Bíblicas para Todas as Datas da Vida Cristã (Portuguese Edition)

Poder sem limites - o caminho do sucesso pessoal pela programação neurolinguística

Bíblia de Estudo Conselheira - Gênesis: Acolhimento Reflexão Graça (Portuguese Edition)

User interface evaluation experiences: A brief comparison between usability and communicability testing

AJaX Asy s nchronous s J avasc S ript p t a nd d XML

Editorial Review. Users Review

HISTOLOGIA E BIOLOGIA CELULAR. UMA INTRODUçãO À PATOLOGIA (EM PORTUGUESE DO BRASIL) BY ABRAHAM L. KIERSZENBAUM

Já Chegou Aos Confins Da Terra. E Agora? (Portuguese Edition)

ATLAS DE ACUPUNTURA VETERINáRIA. CãES E GATOS (EM PORTUGUESE DO BRASIL) BY CHOO HYUNG KIM

Conceitos de Linguagens de Programação (Portuguese Edition)

Medicina e Meditação - Um Médico Ensina a Meditar (Portuguese Edition)

Hipnose Na Pratica Clinica

Labrador: Guia prático ilustrado (Coleção Pet Criador) (Portuguese Edition)

Como Mudar a Senha do Roteador Pelo IP o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP Acesse o Site e Confira!

O Jardim Secreto - Coleção Reencontro Infantil (Em Portuguese do Brasil)

Get Instant Access to ebook Alemao Ver Falar PDF at Our Huge Library

Bíblia do Obreiro - Almeida Revista e Atualizada: Concordância Dicionário Auxílios Cerimônias (Portuguese Edition)

Guia prático da nova ortografia (Portuguese Edition)

Conversação Para Viagem - Inglês (Michaelis Tour) (Portuguese Edition)

ATLAS DE ACUPUNTURA VETERINáRIA. CãES E GATOS (EM PORTUGUESE DO BRASIL) BY CHOO HYUNG KIM

Da Emoção à Lesão: um Guia de Medicina Psicossomática (Portuguese Edition)

Guião M. Descrição das actividades

API REST Alimentação/Retorno

A necessidade da oração (Escola da Oração) (Portuguese Edition)

Como Falar no Rádio - Prática de Locução Am e Fm (Portuguese Edition)

Buscai as coisas do alto (Portuguese Edition)

Guerra Irregular: terrorismo, guerrilha e movimentos de resistência ao longo da história (Portuguese Edition)

DIBELS TM. Portuguese Translations of Administration Directions

Tratado de Enfermagem Médico Cirúrgica (Em Portuguese do Brasil)

Pesquisa Qualitativa do Início ao Fim (Métodos de Pesquisa) (Portuguese Edition)

Estrelinhas Brasileiras: Como Ensinar a Tocar Piano de Modo Ludico Usando Pecas de Autores Brasileiros - Vol.2

Viagem a Serra da Estrella PDF

LEITURA SUPER RáPIDA (PORTUGUESE EDITION) BY AK JENNINGS

O que falta para você ser feliz? (Portuguese Edition)

E-Commerce de Sucesso: Como Criar e Desenvolver Lojas Virtuais que Vendem (Portuguese Edition)

O Livro do Riso do Menino Maluquinho - Todas as piadas que as crianças ouviram ou contaram no último século (Portuguese Edition)

Guião A. Descrição das actividades

GERENCIAMENTO DA ROTINA DO TRABALHO DO DIA-A-DIA (EM PORTUGUESE DO BRASIL) BY VICENTE FALCONI

Senhor, ensina-me a orar: 31 dias para mudar sua vida de oração (Escola da Oração) (Portuguese Edition)

Aqui pode escolher o Sistema operativo, e o software. Para falar, faça download do Cliente 2.

Meu Filho é Alérgico! E Agora? (Portuguese Edition)

Universidade da Beira Interior. Sistemas Distribuídos /2015 Curso: Engª Informática. Folha 11. JAX-RS: Java API for RESTful Web Services

Aposentadoria e INSS: Entenda como funcionam e defenda-se (Coleção Seus Direitos) (Portuguese Edition)

ATLAS DE ACUPUNTURA VETERINáRIA. CãES E GATOS (EM PORTUGUESE DO BRASIL) BY CHOO HYUNG KIM

MEDICINA INTERNA DE PEQUENOS ANIMAIS (EM PORTUGUESE DO BRASIL) BY RICHARD COUTO C.^NELSON

MT BOOKING SYSTEM BACKOFFICE. manual for management

Cartomancia: Conhecimento através das cartas (Coleção Autoconhecimento) (Portuguese Edition)

A Bíblia do Pregador - Almeida Revista e Atualizada: Com esboços para sermões e estudos bíblicos (Portuguese Edition)

REDAçãO PARA CONCURSOS E VESTIBULARES - PASSO A PASSO (PORTUGUESE EDITION) BY DAD SQUARISI, CéLIA CURTO

PODER DO ESPIRITO SANTO, O BY BILLY GRAHAM

REMINISCêNCIAS DE UM ESPECULADOR FINANCEIRO: REMINISCENCES OF A STOCK OPERATOR (PORTUGUESE. EDITION) BY MR. EDWIN LEFèVRE

Monteiro Lobato, Livro A Livro - Obra Adulta (Portuguese Edition)

COMO ESCREVER PARA O ENEM: ROTEIRO PARA UMA REDAçãO NOTA (PORTUGUESE EDITION) BY ARLETE SALVADOR

Chica da Silva e o Contratador Dos Diamantes: O Outro Lado Do Mito

Impostos Federais Estaduais e Municipais (Portuguese Edition)

Scrum: Gestão ágil para projetos de sucesso (Portuguese Edition)

Ligações Entre NANDA, NOC e NIC. Diagnósticos, Resultados e Intervenções (Em Portuguese do Brasil)

O som dos acordes (Portuguese Edition)

GUIÃO A. What about school? What s it like to be there/here? Have you got any foreign friends? How did you get to know them?

Um olhar que cura: Terapia das doenças espirituais (Portuguese Edition)

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainmoziware» company Manual Jose Lopes

YouTube. e a CampusTV. Fernando Birra, 2014

Direito & Rock o Brock e as Expectativas da Constituição 1988 e do Junho de 2013 (Portuguese Edition)

Guia para Formacao de Analistas de Processos: Gestão Por Processos de Forma Simples (Portuguese Edition)

Transcrição:

Serviços: API REST URL - Recurso URLs reflectem recursos Cada entidade principal deve corresponder a um recurso Cada recurso deve ter um único URL Os URLs referem em geral substantivos URLs podem reflectir colecções de recursos

Métodos HTTP Métodos HTTP reflectem acções Cada método HTTP tem um significado bem definido quando aplicado a um dado URL Métodos são os verbos aplicados aos recursos, os quais são substantivos GET - usado para interrogações e apenas para interrogações. Nunca devem ser usados para alterações de estado (no servidor) Métodos HTTP (cont) GET - usado para interrogações e apenas para interrogações. DELETE - para remover o recurso identificado pelo URL PUT - para inserção de novos recursos (INSERT com ID auto gerado) POST - para actualização de recursos existentes (INSERT OR UPDATE IF EXISTS" com um ID especificado)

URLs - construção HTTP://[Domínio]/[Base]/[Caminho] [Caminho] categoria Lista de recursos de uma categoria Lista de subcategorias categoria/identificador URLs - construção [Caminho] (continuação) [user-id]/categoria Lista de recursos de uma categoria de um utilizador Lista de subcategorias [user-id]/categoria/identificador

URLs - construção Os URLs e a respostas (via GET) devem permitir a navegação entre os recursos 1 - Lista de recursos (de um determinado tipo) 2 - Na resposta estão disponíveis os URL para aceder a cada um deles individualmente Leitura recomendada A RESTful Web service, an example http://www.peej.co.uk/articles/restfully-delicious.html Delicious is a Social Bookmarking service, which means you can save all your bookmarks online, share them with other people, and see what other people are bookmarking. It also means that we can show you the most popular bookmarks being saved right now across many areas of interest. In addition, our search and tagging tools help you keep track of your entire bookmark collection and find tasty new bookmarks from people like you.

Web Service API Delicious has a simple REST API, perfectly usable HTTP and XML based API for accessing your bookmarks and tags, but it isn't very RESTful. Why not? First class objects aren't exposed as resources, so we can't access our bookmarks or tags directly. HTTP methods not used correctly, everything is done via GET even operations that change things. Resource representations not interconnected, you can't traverse from a list of bookmarks to a single bookmark. Serviços da API Get a list of all our bookmarks and to filter that list by tag or date or limit by number Get the number of bookmarks created on different dates Get the last time we updated our bookmarks Get a list of all our tags Add a bookmark Edit a bookmark Delete a bookmark Rename a tag

Entidades Principais Bookmarks http://del.icio.us/api/[username]/bookmarks http://del.icio.us/api/[username]/bookmarks/bid Tags http://del.icio.us/api/[username]/tags http://del.icio.us/api/[username]/tags/tid Uso de autenticação para controlo das permissões de acesso Respostas

Get all bookmarks Get all bookmarks GET http://del.icio.us/api/peej/bookmarks/?start=1&end=2 <?xml version="1.0" encoding="utf-8"?> <bookmarks start="1" end="2" next="http://del.icio.us/api/peej/bookmarks?start=3&end=4"> <bookmark url="http://www.example.org/one" tags="example,test" href="http://del.icio.us/api/peej/bookmarks/a211528fb5108cddaa4b0d3aeccdbdcf" time="2005-10-21t19:07:30z"> Example of a Delicious bookmark </bookmark> <bookmark url="http://www.example.org/two" tags="example,test" href="http://del.icio.us/api/peej/bookmarks/e47d06a59309774edab56813438bd3ce" time="2005-10-21t19:34:16z"> Another example of a Delicious bookmark </ bookmark> </bookmarks>

Get info on a specific bookmark Get info on a specific bookmark GET http://del.icio.us/api/peej/bookmarks/a211528fb5108cddaa4b0d3aeccdbdcf <?xml version="1.0"?> <bookmark url="http://www.example.org/one" time="2005-10-21t19:07:30z"> <description> Example of a Delicious bookmark </description> <tags count="2"> <tag name="example" href="http://del.icio.us/api/peej/tags/example"/> <tag name="test" href="http://del.icio.us/api/peej/tags/test"/> </tags> </bookmark>

More retrieval operations Get count of posts per date Get last update time for the user Add a bookmark to Delicious The 415 Unsupported Media Type error is returned if an incorrect XML document is sent. On success, a 201 Created response is returned along with a location header containing the URL of the newly created bookmark resource.

Add a bookmark to Delicious POST http://del.icio.us/api/peej/bookmarks/ <?xml version="1.0"?> <bookmark url="http://www.example.org/one" time="2005-10-21t19:07:30z"> <description> Example of a Delicious bookmark </description> <tags> <tag name="example"/> <tag name="test"/> </tags> </bookmark> Delete a bookmark On success, we'll return a 204 No Content code since we won't return an response body.

Serviços da API Get a list of all our bookmarks and to filter that list by tag or date or limit by number Get the number of bookmarks created on different dates Get the last time we updated our bookmarks Get a list of all our tags Add a bookmark Edit a bookmark Delete a bookmark Rename a tag Home Page REST says to "use hypertext as the engine of application-state transitions", meaning, given a starting URL, we should be able to fetch a resource and use the URLs within it to navigate to the other resources that we want. Home Page

Home Page GET http://del.icio.us/api/?start=1&end=2 <?xml version="1.0"?> <users start="1" end="2" next="http://del.icio.us/api/?start=3&end=4"> <user name="peej" href="http://del.icio.us/api/peej/" bookmarks="http://del.icio.us/api/peej/bookmarks/" tags="http://del.icio.us/api/peej/tags"/> <user name="joshua" href="http://del.icio.us/api/joshua/" bookmarks="http://del.icio.us/api/joshua/bookmarks/" tags="http://del.icio.us/api/joshua/tags"/> </users> Each user then needs to be defined as a resource! User as a resource

User as a resource GET http://del.icio.us/api/peej/?start=1&end=2 <?xml version="1.0"?> <user email="paul@peej.co.uk" name="paul James" href="http://www.peej.co.uk/"> <bookmarks href="http://del.icio.us/api/peej/bookmarks/" start="1" end="2" next="http://del.icio.us/api/peej/?start=3&end=4"> <bookmark url="http://www.example.org/one" href="http://del.icio.us/api/peej/bookmarks/a211528fb5108cddaa4b0d3aeccdbdcf"/> <bookmark url="http://www.example.org/two" href="http://del.icio.us/api/peej/bookmarks/e47d06a59309774edab56813438bd3ce"/ > </bookmarks> <tags href="http://del.icio.us/api/peej/tags/"> <tag name="example" count="2" href="http://del.icio.us/api/peej/tags/example"/> <tag name="test" count="2" href="http://del.icio.us/api/peej/tags/test"/> </tags> </user>