Tag Archives: json

Google App Engine + JAVA + Spring + REST + Mapping Exceptions to Errors for JSON

error_screenshot

Objective

We are talking REST+JSON from browser to the server and back, so we need to report errors nicely. Exception thrown on the server have to be converted to error messages and transmitted to the client in JSON format. Luckily there is a very elegant solution for this in Spring.

HandlerExceptionResolver interface

Spring provides a very handy HandlerExceptionResolver interface for mapping exceptions to views. If you check the documentation (and you should) you will notice that where are couple exception handlers already implemented, but we will create our own. Just because we can.

Continue reading Google App Engine + JAVA + Spring + REST + Mapping Exceptions to Errors for JSON

Goolge app engine + java + spring + REST + JSON + Flex – Part 2

www_1

Objective

Once you are finished with this article, you will be able to store application data in Google App Engine Data store and consume REST service using flex client.

Common Problems and Solutions

In my personal opinion flash player security model is the biggest piece of bullshit I ever encountered. If you sit down and thing just for 10 seconds about how it is implemented you will have to agree that it provides NO security at all. It just makes impossible so do certain things, that’s all. Adobe needs to drop it now.

Here is the problem that we have with REST and Google app engine: Adobe’s implementation of HTTPService only supports GET and POST, to consume REST we need at least 3 methods: GET, POST and DELETE. We can live without PUT – if id is null JDO will create a new persisted object, if it is set JDO will update it. But we still do not have support for DELETE. Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 2

Goolge app engine + java + spring + REST + JSON + Flex – Part 1

Objective

Once you are finished with this article, you will be able to implement REST services in Google Apps Engine using JAVA, Spring 3.0 and JSON. In the next part you will learn how to add flex application to consume the services.

Step one – Getting all required libraries: Google App Engine SDK, Spring and JSON serializer

If you are using Eclipse (my favorite IDE), you can install google plugin from here. If you choose to go another route, you need to download the sdk, create the project and join us back in the next section. Once you install the plugin, restart eclipse and you can see these buttons

Google App Engine Project Button

you can proceed to the next section.

Step Two – Create new project

Go to new project wizzard Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 1

Goolge app engine + java + spring + REST + JSON

binary_code_3

I have been inching to try out google app engine and its capabilities, but did not wan to give up the spring. So to day I am starting on my prototype involving Goolge app engine + java + spring + REST + JSON.

The end product will be spring mvc app running in google app engine handling GET, POST, PUT and DELETE http requests with JSON objects in and out utilizing JDO and seesions. This will give me a platform to write clients in Objective C for Ipod/Iphone (aka Coco Touch), Android, Flex, Ajax and maybe couple more platforms.

I am writing this while I am downloading Spring 3.0RC1. Will try to give daily updates if I can. If my prototype works as expected (all the research points to yes), I will have sample project available for download. There will be some trouble getting Flex to talk REST, since it only supports GET and POST and like most Adobe development stuff is not of the greatest maturity……. (opening new tab to check if we have new version of flex… still beta). Anyhow, Flex REST part will be interesting, I have already done some hacking in that area and it can be done – I have to write http client by hand, but who does not like an interesting challenge?

So here you have it. Next update when I have Spring 3 mvc inside google app engine up and running.

The part 1 is now online.

The part 2 is now online.

The part 3 is now online

The part 4 is now online