Revin Guillen씨가 Dojo dojo.data API와 아주 폼나는 방법으로 웹 서비스에 접근하는 방법에 대한 글을 작성하셨습니다.

그는 Wikipedia에 접근하는 것을 예제로 보여주었습니다(데모):

Dojo는 최근 정확히 우리가 원하던 것들을 보여주는 새로운 데이터 저장소를 받았습니다: dojox.data.WikipediaStore 입니다. 이름에서 알 수 있듯이, Wikipedia를 코드에서 쿼리할 수 있는 간단한 객체로 변환합니다. Dojo의 간편한 dojox.rpc 패키지를 사용해서 빌드하면 간단하고, 간략한 DRY[각주:1] 구현을 할 수 있습니다.

겨우 4단계 뿐입니다:

  1. 웹 서비스 객체를 만든다
  2. 새로운 데이터 저장소를 선언하고 ServiceStore를 상속받는다
  3. fetch 메소드를 부여한다
  4. _processResult 메소드를 부여한다

서비스 기술자는 이런 식으로 되어있습니다:

[code:js]
{
    "SMDVersion": "2.0",
    "id": "http://en.wikipedia.org/w/api.php",
    "description": "Wikipedia API",
 
    transport: "JSONP",
    envelope: "URL",
    additionalParameters: true,
    target: "http://en.wikipedia.org/w/api.php",
    parameters: [
        { name: "format", optional: false, "default": "json" }
    ],
 
    services: {
        query: {
            parameters: [
                { name: "action", type: "string", "default": "parse" }
            ]
        }
    }
}
이것을 상점을 만들 때 사용하실 수 있습니다:
[code:js]
dojo.require("dojo.io.script"); // for cross domain JSONP
dojo.require("dojox.rpc.Service");
 
dojo.addOnLoad(function(){
    var mu = dojo.moduleUrl("dojox.rpc.SMDLibrary", "wikipedia.smd");
    var wikipedia = new dojox.rpc.Service(mu);
 
    wikipedia.query({
        action: "parse",
        page: "Main Page"
    }).addCallback(this, function(article){
        dojo.body().innerHTML = article.parse.text["*"];
    });
});

from Working with Web Services with ease; dojo.data and the WikipediaStore
  1. Don't Repeat Yourself [본문으로]
TAG
Posted by 행복한고니 트랙백 0 : 댓글 0