JavaScript(Cordova, 웹) 애플리케이션의 자원 요청

improve this page | report issue

개요

MobileFirst 애플리케이션은 WLResourceRequest REST API를 사용하여 자원에 액세스할 수 있습니다.
REST API는 모든 어댑터 및 외부 자원에서 작동합니다.

전제조건:

WLResourceRequest

WLResourceRequest 클래스는 어댑터 또는 외부 자원에 대한 자원 요청을 처리합니다.

WLResourceRequest 오브젝트를 작성하고 자원에 대한 경로 및 HTTP 메소드를 지정하십시오.
사용 가능한 메소드는 WLResourceRequest.GET, WLResourceRequest.POST, WLResourceRequest.PUTWLResourceRequest.DELETE입니다.

var resourceRequest = new WLResourceRequest(
    "/adapters/JavaAdapter/users",
    WLResourceRequest.GET
);
  • JavaScript 어댑터의 경우 /adapters/{AdapterName}/{procedureName}을 사용하십시오.
  • Java 어댑터의 경우 /adapters/{AdapterName}/{path}를 사용하십시오. path는 Java 코드로 @Path 어노테이션을 정의한 방식에 따라 다릅니다. 여기에는 사용한 @PathParam도 포함됩니다.
  • 프로젝트 외부의 자원에 액세스하려면 외부 서버의 요구사항에 따라 전체 URL을 사용하십시오.
  • 제한시간: 요청 제한시간(밀리초)이며 선택사항입니다.

요청 보내기

.send() 메소드를 사용하여 자원을 요청하십시오.
send() 메소드는 선택적 매개변수를 사용하여 HTTP 요청에 본문을 설정할 수 있으며, 이는 JSON 오브젝트 또는 단순 문자열일 수 있습니다.

JavaScript 약속을 사용하여 onSuccessonFailure 콜백 함수를 정의할 수 있습니다.

resourceRequest.send().then(
    onSuccess,
    onFailure
)

setQueryParameter

setQueryParameter 메소드를 사용하여 REST 요청에 조회(URL) 매개변수를 포함시킬 수 있습니다.

resourceRequest.setQueryParameter("param1", "value1");
resourceRequest.setQueryParameter("param2", "value2");

JavaScript 어댑터

JavaScript 어댑터는 이름이 없는 정렬된 매개변수를 사용합니다. Javascript 어댑터에 매개변수를 전달하려면 params라는 이름을 사용하여 매개변수 배열을 설정하십시오.

참고: params 값은 배열의 문자열 표시여야 합니다.

resourceRequest.setQueryParameter("params", "['value1', 'value2']");

이는 WLResourceRequest.GET와 함께 사용해야 합니다.

setHeader

setHeader 메소드를 사용하여 새 HTTP 헤더를 설정하거나 기존 헤더를 REST 요청에 포함된 동일한 이름으로 대체할 수 있습니다.

resourceRequest.setHeader("Header-Name","value");

sendFormParameters(json)

URL 인코딩된 양식 매개변수를 전송하려면 sendFormParameters(json) 메소드를 대신 사용하십시오. 이 메소드는 JSON을 URL 인코딩된 문자열로 변환하고 content-typeapplication/x-www-form-urlencoded로 설정하며 이를 HTTP 본문으로 설정합니다.

var formParams = {"param1": "value1", "param2": "value2"};
resourceRequest.sendFormParameters(formParams);

JavaScript 어댑터

JavaScript 어댑터는 이름이 없는 정렬된 매개변수를 사용합니다. Javascript 어댑터에 매개변수를 전달하려면 params라는 이름을 사용하여 매개변수 배열을 설정하십시오.

var formParams = {"params":"['value1', 'value2']"};

이는 WLResourceRequest.POST와 함께 사용해야 합니다.

WLResourceRequest에 대한 자세한 정보는 사용자 문서의 API 참조를 참조하십시오.

응답

onSuccessonFailure 콜백은 둘 다 response 오브젝트를 수신합니다. response 오브젝트에는 응답 데이터가 포함되어 있으며 해당 특성을 사용하여 필수 정보를 검색할 수 있습니다. 일반적으로 사용되는 특성은 responseText, 응답이 JSON 형식인 경우 responseJSON(JSON 오브젝트) 및 status(응답의 HTTP 상태)입니다.

요청이 실패하는 경우 response 오브젝트에는 errorMsg 특성도 포함됩니다.
Java를 사용하는지 또는 JavaScript 어댑터를 사용하는지 여부에 따라 응답에는 responseHeaders, responseTime, statusCode, statusReasontotalTime과 같은 다른 특성이 포함될 수 있습니다.

{
  "responseHeaders": {
    "Content-Type": "application/json",
    "X-Powered-By": "Servlet/3.1",
    "Content-Length": "86",
    "Date": "Mon, 15 Feb 2016 21:12:08 GMT"
  },
  "status": 200,
  "responseText": "{\"height\":\"184\",\"last\":\"Doe\",\"Date\":\"1984-12-12\",\"age\":31,\"middle\":\"C\",\"first\":\"John\"}",
  "responseJSON": {
    "height": "184",
    "last": "Doe",
    "Date": "1984-12-12",
    "age": 31,
    "middle": "C",
    "first": "John"
  },
  "invocationContext": null
}

응답 처리

응답 오브젝트는 onSuccessonFailure 콜백 함수에 의해 수신됩니다.
예:

onSuccess: function(response) {
    resultText = "Successfully called the resource: " + response.responseText;
},

onFailure: function(response) {
    resultText = "Failed to call the resource:" + response.errorMsg;
}

자세한 정보

WLResourceRequest에 대한 자세한 정보는 API 참조를 참조하십시오.

샘플 애플리케이션 이미지

샘플 애플리케이션

ResourceRequestWebResourceRequestCordova 프로젝트는 Java 어댑터를 사용하는 자원 요청을 보여줍니다.
어댑터 Maven 프로젝트에는 자원 요청 호출 중에 사용되는 Java 어댑터가 포함되어 있습니다.

Cordova 프로젝트를 클릭하여 다운로드하십시오.
웹 프로젝트를 클릭하여 다운로드하십시오.
어댑터 Maven 프로젝트를 클릭하여 다운로드하십시오.

샘플 사용법

샘플의 README.md 파일에 있는 지시사항을 따르십시오.

Last modified on September 19, 2017