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

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 2 min. de leitura
  • Controla quais tipos de conteúdo são permitidos em solicitações e respostas de API REST de script.

    Por padrão, as REST APIs de script são compatíveis com application/json, application/xmle text/xml. Os tipos de conteúdo personalizado 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. O uso de 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 compatíveis padrão. Esses campos definem valores aceitáveis que os usuários podem passar nos cabeçalhos de solicitação Content-Type 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 Serviço REST de script.
    Nota:
    O campo Formatos de solicitação compatíveis aparece somente para recursos PUT, POST e PATCH.

    Como usar 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 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: te%t.
    • Para executar uma pesquisa de caracteres curinga de vários caracteres, use o caractere asterisco (*). Este curinga encontra palavras que contêm zero ou mais caracteres no lugar do asterisco. Por exemplo, para encontrar palavras como planejado ou colocado, pesquise: pl*d.

    Como usar 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, você poderá recuperar os valores urlencoded fornecidos na solicitação como um mapa JSON. Você pode fornecer esses pares de chave-valor codificados por URL como parâmetros de consulta, no corpo da solicitação ou em ambos. Eles são combinados e armazenados nos parâmetros de solicitação. Acesse esses parâmetros por meio do objeto request.queryParams.

    Por exemplo, se sua API estiver 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.