Classe responsável por tratar e manipular os dados recebidos via objeto JsonObject na API Progress. Através dela é possível a recuperação das seguintes informações:
- URL da requisição
- Método da requisição
- Headers enviados na requisição
- Parâmetros do tipo Path
- Parâmetros do tipo Query
- Linha inicial de busca de registros no banco (calculado com base na página atual e tamanho de página) (caso enviado na requisição).
- Tamanho de página (caso enviado na requisição)
- Campos a serem retornados (caso enviado na requisição)
- Campos a serem expandidos (caso enviado na requisição)
- Ordem dos registros (caso enviado na requisição)
- Corpo da requisição.
DEFINE VARIABLE oRequestParser AS JsonAPIRequestParser NO-UNDO.
oRequestParser = NEW JsonAPIRequestParser(pJsonInput).
ASSIGN cURI = oRequestParser:getURI()
cMethod = oRequestParser:getMethod()
oHeaders = oRequestParser:getHeaders()
aPathParams = oRequestParser:getPathParams()
oQueryParams = oRequestParser:getQueryParams()
iStartRow = oRequestParser:getStartRow()
iPageSize = oRequestParser:getPageSize()
iPage = oRequestParser:getPage()
cFields = oRequestParser:getFieldsChar()
cExpandables = oRequestParser:getExpandChar()
oOrder = oRequestParser:getOrder()
lcPayload = oRequestParser:getPayloadLongChar().
Construtor
Parâmetro | Descrição |
|---|---|
| JsonObject | Objeto JSON recebido como parâmetro pela procedure da requisição (contendo o conteúdo completo da requisição) |
Métodos
Nome | Descrição |
|---|---|
| getURI | Recupera a URL da requisição. |
| getMethod | Recupera o Método da Requisição (GET, POST, DELETE, etc). |
| getHeaders | Retorna um objeto JsonObject com os Headers da requisição. |
| getPathParams | Retorna um objeto JsonArray com os parâmetros PATH da requisição. Exemplo: ["path1","path2","path3"] |
| getPathParamById | Retorna um parâmetro PATH da requisição, conforme o a posição informada. Por exemplo, se for informado 2, será retornado o segundo parâmetro PATH. |
| getQueryParams | Retorna um objeto JsonObject com os parâmetros QUERY da requisição. Exemplo: {"codUser":["cod01","cod02","cod03"]}
|
| getQueryParamByName | Retorna o valor de um parâmetro QUERY com base no seu nome. Por exemplo, se for informado "user", será retornado o valor deste parâmetro QUERY, se ele existir. |
| getPayload | Quando o corpo da requisição for um objeto, retorna um objeto JsonObject com o corpo da requisição. |
| getPayloadParamByName | Retorna o valor de uma propriedade existente no Payload da requisição. Por exemplo, se for informado "company", será retornado o valor desta propriedade, se ela existir no Payload. |
| getPayloadArray | Quando o corpo da requisição for um array, retorna um objeto JsonArray com o corpo da requisição. |
| getPayloadLongChar | Retorna um LONGCHAR com o corpo da requisição. |
| getPageSize | Recupera o tamanho da página, caso tenha sido passado como parâmetro. Exemplo: |
| getPage | Recupera o número da página, caso tenha sido passado como parâmetro. Exemplo: |
| getStartRow | Recupera a posição do registro inicial a ser pesquisado de acordo com o número e tamanho da página (caso tenha sido passado como parâmetro). Exemplo: |
| getFields | Retorna um objeto JsonArray com os campos a serem pesquisados, caso tenha sido passado como parâmetro. Exemplo: ["fields1"] |
| getFieldsChar | Retorna um LONGCHAR com os campos a serem pesquisados separados por vírgula. |
| getOrder | Retorna um objeto JsonArray com os campos a serem ordenados, caso tenha sido passado como parâmetro. Exemplo: ["fields1"] |
| getOrderChar | Retorna um LONGCHAR com os campos a serem ordenados separados por vírgula. |
| getExpand | Retorna um objeto JsonArray com os campos a serem expandidos, caso tenha sido passado como parâmetro. Exemplo: ["expandValue1"] |
| getExpandChar | Retorna um LONGCHAR com os campos a serem expandidos separados por vírgula. |