RESTAPIRequestBody - 범위가 지정됨, 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 5분
  • RESTAPIRequestBody API는 스크립트에서 스크립트된 REST API 요청의 본문 콘텐츠에 액세스할 수 있는 메서드를 제공합니다.

    RESTAPIRequestBody 개체의 형식은 요청의 content-type 헤더 값에 따라 JSON 또는 XML일 수 있습니다.
    주:
    이 형식의 개체는 인스턴스화할 수 없습니다. 이 유형의 객체는 자동으로 생성되며 스크립트된 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 - 데이터

    요청 본문의 내용입니다.

    주:
    REST 웹 서비스는 스트림을 통해 데이터, 데이터 스트림 및 dataString을 사용합니다. 스트림은 한 번만 사용되기 때문에 하나만 호출할 수 있습니다. 예를 들어 data와 dataString을 모두 호출하는 경우 두 번째 호출은 비어 있는 값을 반환합니다.
    표 1. 필드
    이름 유형 설명
    데이터 객체 또는 배열 요청 컨텐츠입니다. 요청에 따라 단일 객체 또는 객체 배열이 될 수 있습니다.
    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

    스트림 형식의 요청 본문 내용입니다.

    주:
    REST 웹 서비스는 스트림을 통해 데이터, 데이터 스트림 및 dataString을 사용합니다. 스트림은 한 번만 사용되기 때문에 하나만 호출할 수 있습니다. 예를 들어 data와 dataString을 모두 호출하는 경우 두 번째 호출은 비어 있는 값을 반환합니다.
    표 2. 필드
    이름 유형 설명
    데이터 스트림 객체 요청 본문의 내용입니다. 요청에서 첨부 파일을 생성하거나 요청을 다른 엔드포인트로 전달하는 등 스트림을 별도의 API에 전달할 수 있습니다.
    var requestBody = request.body; 
    var requestStream = requestBody.dataStream;

    RESTAPIRequestBody - 데이터 문자열

    요청 본문의 내용으로, 문자열로 표시됩니다.

    주:
    REST 웹 서비스는 스트림을 통해 데이터, 데이터 스트림 및 dataString을 사용합니다. 스트림은 한 번만 사용되기 때문에 하나만 호출할 수 있습니다. 예를 들어 data와 dataString을 모두 호출하는 경우 두 번째 호출은 비어 있는 값을 반환합니다.
    표 3. 필드
    이름 유형 설명
    데이터 문자열 문자열 요청 본문의 내용입니다.
    var requestBody = request.body; 
    var requestString = requestBody.dataString;

    RESTAPIRequestBody - hasNext()

    요청 본문에 추가 항목이 있는지 확인합니다.

    nextEntry() 메서드와 함께 이 메서드를 사용하여 여러 요청 본문 항목을 반복합니다.

    표 4. 매개변수
    이름 유형 설명
    없음
    표 5. 반환
    유형 설명
    부울 요청 본문에 추가 항목이 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 추가 항목을 사용할 수 있습니다. nextEntry()가 호출되면 hasNext()는 마지막으로 일치하는 레코드가 로드될 때까지 계속 true입니다.
    • false: 추가 항목이 없습니다.
    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 - 다음 항목 ()

    요청 본문에서 하나의 항목을 스크립트 객체로 검색합니다.

    hasNext() 메서드와 함께 이 메서드를 사용하여 여러 요청 본문 항목을 반복합니다.

    표 6. 매개변수
    이름 유형 설명
    없음
    표 7. 반환
    유형 설명
    객체 요청 본문의 단일 항목입니다.
    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.

    이 예제에서는 nextEntry()와 함께 hasNext()를 사용하는 방법을 보여 줍니다.

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