---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RESTAPIRequestBody - スコープ対象、グローバル

# RESTAPIRequestBody - スコープ対象、グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

RESTAPIRequestBody API は、スクリプト内のスクリプト化された REST API 要求の本文コンテンツにアクセスできるメソッドを提供します。  
RESTAPIRequestBody オブジェクトの形式は、要求のコンテンツタイプのヘッダー値に応じて JSON または XML になります。  
注:  
このタイプのオブジェクトはインスタンス化できません。このタイプのオブジェクトは自動的に作成され、Scripted REST API リソーススクリプトでのみアクセスできます。

この API は `sn_ws` 名前空間で実行されます。  
JSON 形式の単一エントリの example-request-body。

    {
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    }

JSON 形式の複数エントリの example-request-body。

    [{
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    },{
     "name": "user2",
     "id":9876,
     "roles": [
      {
       "name":"admin"
      }
     ]
    }]

## RESTAPIRequestBody - data {#ariaid-title2}

要求本文のコンテンツ。
注:  
REST Web サービスは、ストリームを介して data、datastream、および dataString を使用します。ストリームは 1 回のみ使用されるため、呼び出すことができるのは 1 つのみです。たとえば、data と dataString の両方を呼び出す場合、2 回目の呼び出しは空を返します。
{#r_SSRB_data__table_fvt_qv1_sr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| data | オブジェクトまたはアレイ | 要求コンテンツ。要求に応じて単一のオブジェクトになる場合と、オブジェクトのアレイになる場合があります。 |
[表 : 1. フィールド]

{#r_SSRB_data__table_fvt_qv1_sr}  

    var entry;
    var id;
    var requestBody = request.body;
    var requestData = requestBody.data; //May be an array or a single object
    if (requestData instanceof Array) { 
     entry = requestData[0].name; // 'user1'
     id = requestData[0].id; // '1234'
    } else {
     entry = requestData.name; // 'user1'
     id = requestData.id; // '1234'
    }

## RESTAPIRequestBody - dataStream {#ariaid-title3}

ストリーム形式での要求本文のコンテンツ。
注:  
REST Web サービスは、ストリームを介して data、datastream、および dataString を使用します。ストリームは 1 回のみ使用されるため、呼び出すことができるのは 1 つのみです。たとえば、data と dataString の両方を呼び出す場合、2 回目の呼び出しは空を返します。
{#r_SSRB_dataStream__table_ycm_sw1_sr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| dataStream | オブジェクト | 要求本文のコンテンツ。要求から添付ファイルを作成したり、別のエンドポイントに要求を転送したりするために、ストリームを別の API に渡すことができます。 |
[表 : 2. フィールド]

{#r_SSRB_dataStream__table_ycm_sw1_sr}  

    var requestBody = request.body; 
    var requestStream = requestBody.dataStream;

## RESTAPIRequestBody - dataString {#ariaid-title4}

文字列形式での要求本文のコンテンツ。
注:  
REST Web サービスは、ストリームを介して data、datastream、および dataString を使用します。ストリームは 1 回のみ使用されるため、呼び出すことができるのは 1 つのみです。たとえば、data と dataString の両方を呼び出す場合、2 回目の呼び出しは空を返します。
{#r_SSRB_dataString__table_k3m_mw1_sr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| dataString | 文字列 | 要求本文のコンテンツ。 |
[表 : 3. フィールド]

{#r_SSRB_dataString__table_k3m_mw1_sr}  

    var requestBody = request.body; 
    var requestString = requestBody.dataString;

## RESTAPIRequestBody - hasNext() {#ariaid-title5}

要求本文に追加のエントリーがあるかどうかを判断します。
このメソッドを nextEntry() メソッドと一緒に使用して、複数の要求本文エントリーを反復処理します。
{#r_SSRB-hasNext__table_ztm_my1_sr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 4. パラメーター]

{#r_SSRB-hasNext__table_ztm_my1_sr} {#r_SSRB-hasNext__table_a5m_my1_sr__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 要求本文に追加のエントリーがあるかどうかを示すフラグ。 可能な値： * true：追加のエントリーが利用可能です。nextEntry() が呼び出されると、一致する最後のレコードがロードされるまで hasNext() が true のままになります。 * false：追加のエントリーはありません。 {#r_SSRB-hasNext__ul_sng_zt5_knb} |
[表 : 5. 返される内容]

{#r_SSRB-hasNext__table_a5m_my1_sr}  

    var requestBody = request.body;
    requestBody.hasNext(); // returns true if the request contains a single entry or multiple entries
    requestBody. nextEntry(); // returns next available entry

    //calling second time
    requestBody.hasNext(); // returns false if the request contains a single entry, or true if the request contains multiple entries

## RESTAPIRequestBody - nextEntry() {#ariaid-title6}

要求本文から 1 つのエントリーをスクリプトオブジェクトとして取得します。
このメソッドを hasNext() メソッドと一緒に使用して、複数の要求本文エントリーを反復処理します。
{#r_SSRB-nextEntry__table_ssb_nx1_sr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 6. パラメーター]

{#r_SSRB-nextEntry__table_ssb_nx1_sr} {#r_SSRB-nextEntry__table_tsb_nx1_sr__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 要求本文からの単一のエントリー。 |
[表 : 7. 返される内容]

{#r_SSRB-nextEntry__table_tsb_nx1_sr}  

    var requestBody = request.body;
    var requestEntry = requestBody.nextEntry(); // returns available entry if there is only one entry, or the first entry if there are multiple.
    var name = requestEntry.name; // 'user1'

    // Calling second time
    requestEntry = requestBody.nextEntry(); // returns undefined if there is only one entry, or the second entry if there are multiple.

この例では、hasNext() と nextEntry() を一緒に使用する方法を示します。

    var requestBody = request.body;
    while(requestBody.hasNext()){
    var entry = requestBody.nextEntry();
    }


