Solicitação de controle e tipo de conteúdo de resposta

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Controla quais tipos de conteúdo são permitidos em solicitações e respostas de REST APIs com script.

    Por padrão, REST APIs de script oferecem suporte a application/json, application/xmle text/xml. Tipos de conteúdo personalizados definidos pelo usuário (com subtipos json ou xml ) também são compatíveis. Por exemplo, application/vnd.collection+json e application/vnd.adobe.xdp+xml são tratados como JSON e XML, respectivamente.
    Importante:
    Se o formato do corpo da solicitação não for de um subtipo json ou xml, use somente o campo dataStream do corpo da solicitação para acessar o corpo da solicitação. Usar dadosdo corpo da solicitação , dataString, nextEntry()ou hasNext() com um formato não json ou não xml resulta em uma resposta de erro 500.

    Padrões de configuração

    Você pode definir valores padrão para a API usando os campos Formatos de solicitação compatíveis padrão e Formatos de resposta padrão compatíveis. Esses campos definem valores aceitáveis que os usuários podem passar nos cabeçalhos de solicitação Tipo de conteúdo e Aceitar, respectivamente. Se um usuário solicitante especificar um cabeçalho Accept ou Content-Type não compatível com a API ou o recurso, a instância responderá com um código de erro HTTP 406 ou 415.

    Você pode substituir esses valores para cada recurso usando os formatos de solicitação compatíveis e os formatos de resposta compatíveis no formulário de serviço REST de script.
    Nota:
    O campo Formatos de solicitação compatíveis aparece somente para recursos PUT, POST e PATCH.

    Uso de valores curinga

    Você pode usar valores curinga ao especificar tipos de conteúdo válidos.
    • Para executar uma pesquisa de caractere curinga único, use o caractere de porcentagem (%). Este caractere curinga encontra palavras que contêm qualquer caractere no lugar do caractere de sinal de porcentagem. Por exemplo, para encontrar palavras como texto ou teste, pesquise por: te%t.
    • Para executar uma pesquisa de vários caracteres curinga, use o caractere de asterisco (*). Este caractere curinga encontra palavras que contêm zero ou mais caracteres no lugar do caractere de asterisco. Por exemplo, para encontrar palavras como planejado ou colocado, pesquise por: pl*d.

    Usando o tipo de conteúdo x-www-form-urlencoded

    Se uma REST API ou recurso aceitar o tipo de conteúdo application/x-www-form-urlencoded, será possível recuperar os valores urlencoded fornecidos na solicitação como um mapa JSON. Você pode fornecer esses pares de chave-valor codificados por urlen como parâmetros de consulta, no corpo da solicitação ou em ambos. Eles são combinados e armazenados nos parâmetros da solicitação. Acesse esses parâmetros por meio do objeto request.queryParams.

    Por exemplo, se sua API for definida para aceitar o tipo de conteúdo application/x-www-form-urlencoded e sua API for implementada da seguinte forma,
    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
    
     response.setBody(request.queryParams);
    
    })(request, response);
    ... a solicitação a seguir produzirá a respectiva resposta:
    POST to localhost:8080/api/now/some_api/some_resource?name3=value3&name4=value4
    Corpo do texto:
    name1=value1&name2=value2
    Resposta:
    { "result":
        { "name4": [ "value4" ], "name3": [ "value3" ], "name2": [ "value2" ],
          "name1": [ "value1" ]
        }
    }

    Enviando tipo binário em uma resposta

    Ao enviar um tipo binário em uma resposta, você deve definir o tipo de conteúdo da resposta e gravar o fluxo binário diretamente usando um objeto RESTAPIResponseStream. Você pode acessar este objeto chamando getStreamWriter() no objeto de resposta. Para obter mais informações, consulte.