RESTAPIResponse - Inclus, Global
L’API RESTAPIResponse fournit des méthodes qui vous permettent de créer une réponse RESTful à une demande d’API REST scriptée.
Cette API s’exécute dans l’espace de noms sn_ws .
RESTAPIResponse : getStreamWriter()
Renvoie 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 .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| RESTAPIResponseStream : champ d’application, global | Le ResponseStreamWriter pour cette réponse. Vous pouvez utiliser cet objet pour écrire directement dans le flux de réponse. |
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 de service web.
| Nom | Type | Description |
|---|---|---|
| body | Objet | Le corps de la réponse, en tant qu’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 transmis dans la requête. |
| 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)
Affecte une valeur à l’en-tête Type de contenu dans la réponse de 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 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.
Consultez la documentation de l’en-tête W3 Content-Type pour plus d’informations sur cet en-tête.
| Nom | Type | Description |
|---|---|---|
| Type de contenu | Chaîne | Type de contenu du corps de la réponse, par exemple application/json. |
| Type | Description |
|---|---|
| nul |
response.setContentType('application/json');
RESTAPIResponse : setError(Object error)
Configure la réponse REST pour renvoyer une erreur.
| Nom | Type | Description |
|---|---|---|
| erreur | Objet | Objet d’erreur. Pour plus d’informations sur les types d’objets d’erreur pouvant être utilisés, reportez-vous à la section Exemple d’API REST scriptée : exemples de scripts. |
| 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.
| Nom | Type | Description |
|---|---|---|
| header | Chaîne | L’en-tête que vous souhaitez définir. |
| valide | Chaîne | Valeur permettant d’affecter l’en-tête spécifié. |
| 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.
| Nom | Type | Description |
|---|---|---|
| en-têtes | Objet | Objet JavaScript répertoriant chaque en-tête et la valeur pour affecter cet en-tête. |
| 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(String location)
Affecte une valeur à l’en-tête Emplacement dans la réponse de service web.
Consultez la documentation de l’en-tête d’emplacement W3 pour plus d’informations sur cet en-tête.
| Nom | Type | Description |
|---|---|---|
| Aucun | Chaîne | URI absolu vers lequel rediriger le destinataire de la réponse. |
| Type | Description |
|---|---|
| nul |
RESTAPIResponse : setStatus(numéro d’état)
Définit le numéro de code d’état de la réponse de service web.
| Nom | Type | Description |
|---|---|---|
| statut | Numéro | Code d’état à envoyer dans la réponse, par exemple 200 pour indiquer la réussite. Le passage d’une valeur non numérique, telle qu’une chaîne, entraîne la valeur par défaut du code d’état sur 0. |
| Type | Description |
|---|---|
| nul |
response.setStatus(200);