13 Nisan 2011 Çarşamba

GWT uygulaması ve Django arasında iletişim

Önceki yazıda GWT projesini Django ile sunmayı yazmıştım, bakmadıysanız önce ona bakmanız iyi olur.

GWT 2.2'nin yeni projelerde ürettiği örnek kod bir metin girişi ve bir "Send" düğmesi oluşturuyor ve Java sunucusuna bu metni gönderiyor. Aşağıdaki örnek bunu Django uygulamasına gönderip gelen cevabı da metin giriş kutusuna yazıyor. Kodun tamamını vermiyorum, nasıl çalıştığının anlaşılması yeterli olacaktır, GWT kodu SDK belgelerindekinin neredeyse aynısı zaten. Django kodu da açıklama gerektirmeyecek kadar kısa.

test.java

String url = "action";
final RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));
builder.setHeader("Content-Type", "text/plain");

try {
@SuppressWarnings("unused")
Request request = builder.sendRequest(textToServer, new RequestCallback() {

@Override
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
nameField.setText( response.getText() );
} else {
nameField.setText( "Server error" );
}
}

@Override
public void onError(Request request, Throwable exception) {
nameField.setText("Connection error");

}
});
} catch (RequestException e) {
// TODO Auto-generated catch block
nameField.setText("Unknown error");
}



urls.py

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def action(request):
return HttpResponse("Your name is : %s" %request.raw_post_data )


urlpatterns = patterns('',
('^$', entry),
('^test/(.*)$', "django.views.static.serve", {"document_root":settings.STATIC_DOC_ROOT}),
('^action$', action),
)


Bu iletişim yöntemini JSON verilerini taşımak veya kendi XML-RPC yapınızı kurmak için kullanabilirsiniz.

Hiç yorum yok:

Yorum Gönder