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. |