Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Substituir o título Título da página por: Integração do MÓDULO via API REST, onde MÓDULO é o nome do módulo em questão.

...

Âncora
visao_geral
visao_geral

01. VISÃO GERAL

Disponibilizar recursos para facilitar a integração das rotinas do MÓDULO (incluir o nome do MÓDULO em questão) com a utilização da tecnologia de APIs REST.

Âncora
conceito
conceito

02. CONCEITO

...

Âncora
envio_json
envio_json

03. ESTRUTURA DE ENVIO

A estrutura do JSON de envio (body) para os métodos GET e DELETE não tem necessidade de informar na requisição, somente realizar o consumo da API.

Já para o método POST e PUT, deverá ser enviado basicamente no formato:

Bloco de código
languageyml
{
    "id": "ID_API",
    "models": [{
            "id": "MODELO_DADOS",
            "modeltype": "FIELDS"
            "fields": [{
                    "id": "CAMPO",
                    "order": 1,
                    "value": ""
                }, {
                    "id": "CAMPO2",
                    "order": 2,
                    "value": "01"
                }
            ],
            "models": [{
                    "id": "SUBMODELO_DADOS",
                    "modeltype": "GRID"
                    "struct": [{
                            "id": "CAMPO",
                            "order": 1
                        }, {
                            "id": "CAMPO2",
                            "order": 2
                        }
                    ],
                    "items": [{
                            "id": 1,
                            "fields": [{
                                    "id": "CAMPO",
                                    "value": "001"
                                }, {
                                    "id": "CAMPO2",
                                    "value": "01"
                                }
                            ]
                        }, {
                            "id": 2,
                            "fields": [{
                                    "id": "CAMPO",
                                    "value": "002"
                                }, {
                                    "id": "CAMPO2",
                                    "value": "02"
                                }
                            ]
                        }
                    ],
                }
            ],
        }
    ]
}

...

04. ESTRUTURA DE RESPOSTAS

A estrutura do JSON de resposta para os métodos GET (para um determinado uma chave primária - pk), POST e PUT é basicamente da seguinte maneira:

Bloco de código
languageyml
{
    "id": "ID_API",
    "pk": "ICAgIDAwMDAwMDAwMDAwMDAxOQ==",
    "models": []
}

...

05. EXEMPLO DE CONFIGURAÇÃO

Abaixo um exemplo de configuração do arquivo appserver.ini

Bloco de código
languageyml
titleExemplo de configuração appserver.ini
[HTTPV11]
Enable=1
Sockets=HTTPREST

[HTTPREST]
Port=8080
URIs=HTTPURI
SECURITY=1

[HTTPURI]
URL=/rest
PrepareIn=99,01
Instances=1,2

[ONSTART]
jobs=HTTPJOB
RefreshRate=120

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=ENVIRONMENT

Âncora
api_disponiveis
api_disponiveis

06. API REST DISPONÍVEIS 

Após a configuração do REST do Protheus, podemos verificar todas as APIs REST disponível:

  • acessar o endereço configurado do Rest, nesse exemplo foi configurado dessa forma http://localhost:8080/rest
  • procurar o serviço FWMODEL
  • clicar em /rest/fwmodel.catalog.

...