RESTAPIResponse : champ d’application, global
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 .
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 .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| contentType | 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 qui peuvent ê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 à laquelle 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 permettant de l’affecter. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Néant | Chaîne | Un URI absolu vers lequel rediriger le destinataire de la réponse. |
| Type | Description |
|---|---|
| nul |
RESTAPIResponse : setStatus(Number status)
Définit le numéro de code d’état pour la réponse du service web.
| Nom | Type | Description |
|---|---|---|
| statut | 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. |
| Type | Description |
|---|---|
| nul |
response.setStatus(200);