Hi Sven,

I put some code on GitHub.
There is no working example yet, but all one needs.

I have to get back into Amber and their current way to integrate external libs. As soon as I have that working again I will add a Version 1.2 petstore example.

https://github.com/HeSe/amber-swaggerJs

Most important part is the SwaggerApi class and the methods build and initializeSwaggerInterfaceFor: They import the hosted swagger spec and build the JS-Api Interface object one can use in Amber,.... there is really not much to it.

Sebastian

Am 23.06.2015 um 14:39 schrieb Sven Van Caekenberghe:
On 23 Jun 2015, at 22:55, Sebastian Heidbrink <[email protected]> wrote:

Hi Sergio,

Zinc-REST is part of the Zinc repository and a fork for Gemstone can be found 
here: 
https://github.com/GsDevKit/zinc/tree/gs_master/repository/Zinc-REST.package
Most part is to implement the code that generates the Swagger specification for 
your ZnRESTCall subclasses. But it is no vodoo.
It becomes more complexe if you would actually like to use the swagger 
specification on the server site to do request data validation and error 
handling,.... I currently use Swagger only for documentation purposes.

Amber limitations? Not really.
It took me some time to figure out how to configure my servers to cope with 
CORS for the Swagger-UI and my current jsonwebtocken security mechanism is not 
supported by the SwaggerUI and I had to allow insecure access for the Swagger 
UI to the Gemstone server.

The Amber Swagger-JS integration works quite nicely.
I did not publish the code on Github because the integration is so tiny. I can 
send it to you if you like.
Or no,... let me prepare a demo based on the Swagger petshop demo and I will 
put it online.
Might take a day or two until I find some time.
Yes please write something about this, this is interesting for many people.

Sebastian




Am 23.06.2015 um 13:05 schrieb sergio_101:
hey, sebastian.. this looks great! this looks like what i am after..

did you run into any problems or limitations using Amber as a front end? I have 
not tried Amber yet, so this might be the right time to give it a shot.. where 
did you find zinc-rest? a quick search turns up references to it.. should i be 
able to           just install it via my image?

andrew - i thought about using the seaside rest add on, but seaside seems to be 
alot of overhead just to run a rest server..

mariano - i am thinking about using api token..



On Tue, Jun 23, 2015 at 3:13 PM Sebastian Heidbrink <[email protected]> wrote:
Am 23.06.2015 um 11:40 schrieb sergio_101:
I have been a project coming up that I really onlyneed a restful  API on.

The front end will  be first built on a mobile device(iOS )then back on 
possibly android, with a very stripped down web application.

i would like to use pharo/gemstones as the database.

is there a project out there that allows for such restful API development in 
pharo land? This would be so fun!

thanks
I am not so sure what you mean exactly but this is my stack.

I use pure Zinc-REST on the Gemstone side and the REST API is described in 
Swagger-Spec from within Gmestone.
Clients are VBA, Amber and Pharo and they utilize the Swagger API spec to 
access the server.

Works pretty well and is much more preformant than the intial Pharo MongoDB 
backend I initially used.

Have a look into http://smalltalkhub.com/#!/~HeSe/Swagger-Spec
There you can find most of the needed Swagger implementation some minor details 
like type constants are missing.

Once your Gemstoneserver knows how to host his Swagger-Spec you can host it via 
https://github.com/swagger-api/swagger-ui
This saves a lot of explaning time to client developers.


Sebastian




Reply via email to