Afinal, o que API

Uma API é um conjunto de definições e protocolos usado no desenvolvimento e na integração de software. Com as APIs é possível realizar integrações entre soluções ou serviços sem precisar se preocupar com linguagem, infraestrutura e ferramentas que foram utilizadas em sua implementação. O uso de APIs permite:

  • Facilidade na integração mobile-cloud
  • Grande poder de integração entre aplicações
  • Viabilizar parcerias
  • Customização de serviços
  • Impulsiona a inovação aberta

Devemos pensar na API como um contrato. Ela possui uma documentação que representa um acordo entre as partes interessadas, e, para que tenhamos sucesso nas solicitações, é necessário respeitar esta documentação.

Quando o assunto é web, a funcionalidade da API pode ser ainda maior. Existem diversos serviços que disponibilizam seus códigos para serem utilizados em outros sites. Talvez o melhor exemplo disso seja o Google Maps. Diversos outros sites utilizam este serviço dentro de suas páginas, usando o código original e adaptando-o da maneira mais conveniente.

Image for post

REST

Representational State Transfer ou REST, é um estilo de arquitetura a ser utilizado para se projetar software distribuído, baseadas em comunicação via rede. O REST foi criado por Roy Fielding, um dos principais criadores do protocolo HTTP.

RESTful

Podemos dizer que uma API é RESTful, quando ela utiliza um design que respeita os conceitos de REST.

URI — Uniform Resource Identifier

A URI é o identificador de um recurso, pois tudo o que está disponível na internet precisa de um identificador único. Por exemplo, o identificador de uma página pode ser: https://github.com/hangell

Image for post

Métodos HTTP

Os recursos de uma aplicação podem ser manipulados de diversas maneiras. É possível criá-los, atualizá-los, excluí-los, dentre outras operações.

Quando fazemos uma requisição HTTP para um serviço, devemos informar URI para identificar quais recursos pretendemos manipular, e também informe o tipo de manipulação que queremos fazer no recurso. Para isso, utilizaremos os métodos do protocolo HTTP.

O protocolo HTTP possui diversos métodos, sendo que cada um possui uma função diferente. Os métodos HTTP mais utilizados são:

  • GET: Utilizamos o GET para recuperar os dados de um recurso.
  • POST: O POST é utilizado quando desejamos criar um novo recurso.
  • PUT: É utilizado quando queremos fazer uma alteração em um determinado recurso já existente.
  • PATCH: Utilizado para atualizar parcialmente um determinado recurso.
  • DELETE: Utilizado para excluir um determinado recurso.

HTTP Status-Code

Os códigos de retorno do protocolo (Status-Code) são basicamente um algarismo de três dígitos que é o resultado de uma tentativa de entendimento de uma requisição, isto é, sempre que você interage via HTTP, você obtém um código de retorno. As principais classes de status-code são:

2xx Sucesso

A classe de códigos de status 2xx indica a ação solicitada pelo cliente foi recebida, compreendida, aceita e processada com êxito. Exemplo:

200 OK : A requisição foi concluída com sucesso!

4xx Erro de cliente

A classe 4xx de código de status é destinado para os casos em que o servidor não conseguiu processar a solicitação porque o cliente a fez de forma errada ou que não dependa dele, como por exemplo uma página excluída. Por exemplo:

400 Bad Request: A requisição não pôde ser entendida pelo servidor devido à sintaxe malformada.

5xx Erro do servidor

Indica um erro do servidor ao processar a solicitação. Por exemplo:

500 Internal Server Error: O servidor encontrou uma situação com a qual não sabe lidar.

É importante dizer que essas informações te deixam apto a entender o básico do funcionamento de uma API, porém elas podem ser bem mais complexas em um projeto real.

Abaixo lista de Status Return Code

100 ‘Response = Continue’

101 ‘Response = Switching Protocols’

200 ‘Response = OK’

201 ‘Response = Created’

202 ‘Response = Accepted’

203 ‘Response = Non-Authoritative Information’

204 ‘Response = No Content’

205 ‘Response = Reset Content’

206 ‘Response = Partial Content’

300 ‘Response = Multiple Choices’

301 ‘Response = Moved Permanently’

302 ‘Response = Found’

303 ‘Response = See Other’

304 ‘Response = Not Modified’

305 ‘Response = Use Proxy’

306 ‘Response = Unused’

307 ‘Response = Temporary Redirect’

400 ‘Response = Bad Request’

401 ‘Response = Unauthorized’

402 ‘Response = Payment Required’

403 ‘Response = Forbidden’

404 ‘Response = Not Found’

405 ‘Response = Method Not Allowed’

406 ‘Response = Not Acceptable’

407 ‘Response = Proxy Authentication Required’

408 ‘Response = Request Timeout’

409 ‘Response = Conflict’

410 ‘Response = Gone’

411 ‘Response = Length Required’

412 ‘Response = Precondition Failed’

413 ‘Response = Request Entity Too Large’

414 ‘Response = Request-URI Too Long’

415 ‘Response = Unsupported Media Type’

416 ‘Response = Requested Range Not Satisfiable’

417 ‘Response = Expectation Failed’

500 ‘Response = Internal Server Error’

501 ‘Response = Not Implemented’

502 ‘Response = Bad Gateway’

503 ‘Response = Service Unavailable’

504 ‘Response = Gateway Timeout’

505 ‘Response = HTTP Version Not Supported’

0 Reviews

Write a Review

Rodrigo Rangel

Read Previous

Ionic com aparência de aplicação nativa

Read Next

Postman para testar Api do TMDB

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

WhatsApp chat