> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/produtos/landing/resultados-y-callbacks/implementacion-basica.md).

# Implementação básica

## Implementação

A implementação por parte do cliente é bastante simples; ele deve implementar uma chamada POST na sua API ou serviço com os seguintes requisitos:

* Um método post que suporte no máximo 10 megabytes de `body parser`.

#### Exemplos de implementação

Em JavaScript:

```javascript
const express = require('express');
const bodyParser = require('body-parser');
const app = express();

app.use(bodyParser.json({ limit: '10mb' }));

app.post('/example', (req, res) => {
  // Accede a los datos de la solicitud a través del cuerpo
  console.log(req.body);
  res.send('POST request received successfully');
});
```

Em Java:

1. Importe as bibliotecas necessárias, como `org.springframework.web.bind.annotation.PostMapping` e `org.springframework.web.bind.annotation.RequestBody`.

```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
```

2. Crie uma rota para a solicitação POST e use a anotação `@RequestBody` para analisar o corpo da solicitação.

```java
@PostMapping("/example")
public String example(@RequestBody String body) {
  // Accede a los datos de la solicitud a través del cuerpo
  System.out.println(body);
  return "POST request received successfully";
}
```

3. Configure a propriedade `spring.servlet.multipart.max-request-size` no arquivo de configuração da sua aplicação (como `application.properties`) para definir o limite máximo de tamanho da solicitação.

```java
spring.servlet.multipart.max-request-size=10MB
```

Com estes passos, você criou uma solicitação POST em Java que suporta um `body parser` de 10 MB. Observe que o limite máximo de tamanho da solicitação também pode ser definido por outras opções, como `@RequestPart` e `MultipartConfigElement`.

> Observe que os objetos JSON enviados pelo nosso serviço podem não seguir a mesma ordem mostrada na documentação, e alguns campos podem ser nulos. É essencial realizar uma análise adequada dos objetos JSON recebidos. A seguir, é mostrado um exemplo de como analisar uma cadeia JSON, semelhante à que poderia ser encontrada na resposta de uma solicitação POST, em um objeto JSON para seu consumo:
>
> ```java
> import org.json.JSONObject;
>
> public class JsonParser {
>
>     public static void main(String[] args) {
>         String jsonString = "{ \"resultJSON\": { \"imageFront\": \"IMAGE1\", \"imageBack\": \"IMAGE2\", \"imageSelfie\": "IMAGE3\" } }";
>         JSONObject jsonObject = new JSONObject(jsonString);
>
>         JSONObject resultJSON = jsonObject.getJSONObject("resultJSON");
>
>         String imageFront = resultJSON.getString("imageFront");
>         String imageBack = resultJSON.getString("imageBack");
>         String imageSelfie = resultJSON.getString("imageSelfie");
>
>         System.out.println("Image Front: " + imageFront);
>         System.out.println("Image Back: " + imageBack);
>         System.out.println("Image Selfie: " + imageSelfie);
>     }
> }
> ```
