RESTAPIResponse : champ d’application, global

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • L’API RESTAPIResponse fournit des méthodes qui vous permettent de créer une réponse RESTful à une demande REST API scriptée.

    Cette API s’exécute dans l’espace de noms sn_ws .

    Remarque :
    Vous ne pouvez pas instancier des objets de ce type. Les objets de ce type sont créés automatiquement et ne sont accessibles que dans les scripts de ressources d’API REST scriptés.

    RESTAPIResponse : getStreamWriter()

    Retourne le ResponseStreamWriter pour cette réponse, ce qui vous permet d’écrire directement dans le flux de réponse.

    Définissez le type de contenu et le code d’état à l’aide des fonctions setHeaders et setStatus avant d’appeler la fonction getStreamWriter .

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    RESTAPIResponseStream : avec champ d’application, global Le ResponseStreamWriter de cette réponse. Vous pouvez utiliser cet objet pour écrire directement dans le flux de réponses.
    response.setContentType('application/json');
    response.setStatus(200);
    var writer = response.getStreamWriter();

    RESTAPIResponse : setBody(corps de l’objet)

    Définit le contenu du corps à envoyer dans la réponse du service web.

    Tableau 3. Paramètres
    Nom Type Description
    body Objet

    Le corps de la réponse, sous la forme d’un objet JavaScript.

    Le contenu du corps est automatiquement sérialisé en JSON ou XML en fonction de la valeur de l’en-tête Accept transmise dans la demande.

    Tableau 4. Renvoie
    Type Description
    nul
    var body = {};
    body.name = "incident";
    body.number = "1234";
    body.caller = {"id": "user1"};
    response.setBody(body);
    
    var bodyArray = [];
    var body = {};
    body.name = "incident";
    body.number = "1234";
    body.caller = {"id":"user1"};
    bodyArray.push(body);
    response.setBody(bodyArray);

    RESTAPIResponse : setContentType(String contentType)

    Attribue une valeur à l’en-tête Type de contenu dans la réponse du service Web.

    Vous devez définir un type de contenu de réponse avant de rédiger la réponse. Le type de contenu est défini automatiquement pour les réponses de chaîne, en fonction de la valeur de l’en-tête Accepter de la demande.

    Si vous définissez un type de contenu non valide, la réponse est définie par défaut sur JSON. L’échec de la définition d’un type de contenu entraîne une erreur de code d’état 500 lors de l’envoi d’une réponse binaire.

    Voir la documentation sur l’en-tête du type de contenu W3 pour plus d’informations sur cet en-tête.

    Tableau 5. Paramètres
    Nom Type Description
    contentType Chaîne Type de contenu du corps de la réponse, par exemple application/json.
    Tableau 6. Renvoie
    Type Description
    nul
    response.setContentType('application/json');

    RESTAPIResponse : setError(Object error)

    Configure la réponse REST pour renvoyer une erreur.

    Tableau 7. Paramètres
    Nom Type Description
    erreur Objet Objet d’erreur.

    Pour plus d’informations sur les types d’objets d’erreur qui peuvent être utilisés, reportez-vous à la section Exemple d’API REST scriptée : exemples de scripts.

    Tableau 8. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment renvoyer une erreur à partir d’une ressource REST scriptée.

    var queryParams = request.queryParams;
    var userId = String(queryParams.user_id || '');
    var fileId = String(queryParams.file_id || '');
    if (!userId || !fileId){
      response.setError(new sn_ws_err.BadRequestError('Missing required parameters.'));
      return;
    }

    RESTAPIResponse : setHeader(en-tête de chaîne, valeur de chaîne)

    Affectez une valeur à un en-tête de réponse de service REST.

    Tableau 9. Paramètres
    Nom Type Description
    header Chaîne L’en-tête que vous souhaitez définir.
    valide Chaîne Valeur à laquelle affecter l’en-tête spécifié.
    Tableau 10. Renvoie
    Type Description
    nul
    response.setHeader("Location","<URI>");

    RESTAPIResponse : setHeaders(en-têtes d’objets)

    Définit les en-têtes de la réponse du service Web.

    Tableau 11. Paramètres
    Nom Type Description
    en-têtes Objet Objet JavaScript répertoriant chaque en-tête et la valeur permettant de l’affecter.
    Tableau 12. Renvoie
    Type Description
    nul
    var headers = {};
    headers.X-Total-Count=100;
    headers.Location='https://instance.service-now.com/<endpoint_to_resource>';
    response.setHeaders(headers);

    RESTAPIResponse : setLocation(emplacement de la chaîne)

    Attribue une valeur à l’en-tête d’emplacement dans la réponse du service web.

    Consultez la documentation de l’en-tête W3 Location pour plus d’informations sur cet en-tête.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun Chaîne Un URI absolu vers lequel rediriger le destinataire de la réponse.
    Tableau 14. Renvoie
    Type Description
    nul

    RESTAPIResponse : setStatus(Number status)

    Définit le numéro de code d’état pour la réponse du service web.

    Tableau 15. Paramètres
    Nom Type Description
    état Numéro Code d’état à envoyer dans la réponse, tel que 200 pour indiquer la réussite. Si vous transmettez une valeur non numérique, telle qu’une chaîne, la valeur par défaut du code d’état est 0.
    Tableau 16. Renvoie
    Type Description
    nul
    response.setStatus(200);