CODES 200 (OK), o 201 (created), o 204 (no content), o 404 (not found), o 400 (bad request), e 500 (internal server error). AUTENTICAÇÃO Secret token (padrões Auth e JWT)
que ambas se preocupem basicamente com sua área específica de atuação INTERFACE UNIFORME Identificação e Representação dos recursos, Mensagens auto- descritivas e HATEOAS. SEM ESTADO Cada requisição possui toda informação necessária para que seja inteiramente compreensível.
Dados em uma resposta devem ser rotulados como armazenáveis ou não armazenáveis em cache. CAMADAS(LAYERS) Cada layer não pode ver além do layer adjacente e mudanças de um layer não devem impactar nos demais. SOB DEMANDA Possibilidade de serviços responderem como representação de um recurso informação executável pelo cliente.
praticamente nada LEVEL 0 - POX Uso de recursos para modelar e organizar APIs. Definir substantivos LEVEL 1 - RESOURCES Verbos HTTP o mais próximo de como devem ser usados . Aplicar verbos LEVEL 2 -HTTP VERBS Estado atual, relacionamento com outros elementos ou futuros estados LEVEL 3 - HATEOAS
perdem se os idealizadores não fizerem mais parte do projeto. Para operações simples se faz necessário uma documentação robusta verb URI operation GET POST POST GET/ POST /getBox/1 /saveBox /updateBox/1 /deleteBox/1 buscar enviar editar apagar
cada método, mas, devemos saber identificar visualmente o que cada recurso representa fazendo menção direta a um substantivo, preferencialmente no plural. verb URI operation GET POST PUT DELETE /getboxes/1 /saveboxes /updateboxes/1 /deleteboxes/1 buscar enviar editar apagar
verbos que representam operações possíveis sobre um recurso, no primeiro nível definimos os substantivos e nesse nível iremos aplicar os verbos. Os principais verbos HTTP são: GET, PUT, POST, DELETE, HEAD, PATCH, OPTIONS. verb URI operation GET POST PUT DELETE /boxes /boxes/1 /boxes/1 /boxes/1 buscar enviar editar apagar
State ) basicamente são links e aplicação de semântica usando media-types. O ponto mais importante do hypermedia controls é a maneira que um resource deve ser manipulado é descrito, não tendo necessidade de adivinhações de quais operações estão de fato implementadas. GET /box/1 { "name": "Papelao", "links": [ { "rel": "self", "href": "http://localhost:8080/boxes/1" }, { "rel" : "delete", "href": "http://localhost:8080/boxes/1" ] }
que-é-rest-e-restful/45787 O QUE É REST E RESTFUL? https://www.infoq.com/br/articles/nivelando-sua- rest-api/ NIVELANDO SUA REST API https://martinfowler.com/articles/richardsonMaturi tyModel.html RICHARDSON MATURITY MODEL