RESTAPIResponseStream : champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 1 minute de lecture
  • L’API RESTAPIResponseStream fournit des méthodes qui vous permettent d’écrire directement dans le flux de réponse de l’API REST scriptée.

    Utilisez les méthodes RESTAPIResponseStream pour créer des API de service Web dans la fonctionnalité d’API REST 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 de l’API REST scriptés.

    RESTAPIResponseStream : writeStream(flux d’objets)

    Écrire un flux d’entrée dans le flux de réponse.

    Vous devez définir le type de contenu et le code d’état avant d’appeler la méthode writeStream(), sinon la réponse échouera. Vous ne pouvez pas modifier ces valeurs après avoir appelé la méthode writeStream().

    Remarque :

    Il est de la responsabilité de l’auteur du script d’obtenir le flux à partir d’un service tiers.

    Tableau 1. Paramètres
    Nom Type Description
    ruisseau Objet Une pièce jointe ou un flux de réponse provenant d’un service tiers.
    Tableau 2. Renvoie
    Type Description
    nul

    L’exemple suivant concerne les applications incluses dans le périmètre :

    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
    
        response.setContentType('application/json');
        response.setStatus(200);
    
        var gsa = new GlideSysAttachment();
        var attachmentStream = new gsa.getContentStream(<sys_id of attachment>); 
        var writer = response.getStreamWriter();
        writer.writeStream(attachmentStream);
    
    })(request, response);

    L’exemple suivant concerne les applications globales :

    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
    
        response.setContentType('application/json');
        response.setStatus(200);
    
        var attachmentStream = new GlideSysAttachmentInputStream(<sys_id of attachment>);
        var writer = response.getStreamWriter();
        writer.writeStream(attachmentStream);
    
    })(request, response);

    RESTAPIResponseStream : writeString(données de chaîne)

    Écrivez des données de chaîne dans le flux de réponse.

    Vous devez définir le type de contenu et le code d’état avant d’appeler la méthode writeString(), sinon la réponse échouera. Vous ne pouvez pas modifier ces valeurs après avoir appelé la méthode writeString().

    Tableau 3. Paramètres
    Nom Type Description
    données Chaîne Chaîne à ajouter aux données de réponse.
    Tableau 4. Renvoie
    Type Description
    nul
    response.setContentType('application/json');
    response.setStatus(200);
    var writer = response.getStreamWriter();
    var body ={
      name:user1,
      id: 1234,
      roles: [
        {
          name: admin
        },
        {
          name: itil
        }
      ]
    }
    writer.writeString("{'name':'user','id':'1234'}");
    writer.writeString(JSON.stringify(body));