RESTAPIResponse : incluse dans le périmètre, globale
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()
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 |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| RESTAPIResponseStream : champ d’application, global | ResponseStreamWriter pour 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 | 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 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)
Affecte une valeur à l’en-tête de 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 d’en-tête Accepter de la demande.
La définition d’un type de contenu non valide entraîne la réponse JSON par défaut. 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 |
|---|---|---|
| contentType | Chaîne | Type de contenu du corps de la réponse, tel que 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 utilisables, 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 à 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(emplacement de la chaîne)
Affecte une valeur à l’en-tête d’emplacement dans la réponse du service web.
Consultez la documentation de l’en-tête de l’emplacement W3 pour plus d’informations sur cet en-tête.
| Nom | Type | Description |
|---|---|---|
| Néant | Chaîne | 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 de la réponse du service web.
| Nom | Type | Description |
|---|---|---|
| statut | Numéro | Code d’état pour envoyer la réponse, tel que 200 pour indiquer la réussite. La transmission 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);