| 

.NET C# Java Javascript Exception

Kompaktes REST-Web-Framework

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Kompaktes REST-Web-Framework

christian - 23.06.2009 15:52
Hallo, <_42_52_ /> <_42_52_ /> neulich habe ich das in Ruby geschriebene Framework <_41_ HREF="http://www.sinatrarb.com/" REL="nofollow">Sinatra entdeckt. Die Philosophie bei REST ist, dass beim Zugriff auf eine Ressource, die mit einem URL identifiziert wird, je nach HTTP-Methode (POST, GET, PUT, DELETE) eine bestimmte Aktion ausgeführt wird. Wenn man dann noch zwischen Clients wie Web-Browser oder einem RSS-Reader unterscheidet, kann man mit einem Controller gleich mehrere Arten von Clients bedienen und hat so ganz nebenbei Webservices. <_42_52_ /> <_42_52_ /> Die Syntax von Actions in <_41_ HREF="http://www.sinatrarb.com/book.html#routes" REL="nofollow">Sinatra-Controllern ist erfrischend kompakt: <_42_52_ /> <_50_52_45_ CLASS="ruby bbcode_geshi"><_44_49_56_ CLASS="head">Language: Rubyget <_53_50_41_4e_ CLASS="st0">'/hi' <_53_50_41_4e_ CLASS="kw1">do ... <_53_50_41_4e_ CLASS="kw1">end oder gleich mit einem Parameter, den man dann in der Action nutzen kann: <_42_52_ /> <_50_52_45_ CLASS="ruby bbcode_geshi"><_44_49_56_ CLASS="head">Language: Rubypost <_53_50_41_4e_ CLASS="st0">'/:name' <_53_50_41_4e_ CLASS="kw1">do <_53_50_41_4e_ CLASS="co1"># matches /sinatra and the like and sets params[:name] <_53_50_41_4e_ CLASS="kw1">end Damit hat man Action-Definition und Routing mit einer Klappe geschlagen. Ich finde das wirklich sehr elegant. Und ich könnte mir etwas ähnliches gut in Groovy vorstellen. Etwa so: <_42_52_ /> <_50_52_45_ CLASS="bbcode">get("hi"){ ... } <_42_52_ /> Gegenüber Sinatra würde ich allerdings den Pfad, auf den eine Action hört, nicht absolut machen, denn sonst könnte es Konflikte geben, wenn die Anwendung später um ein Plugin erweitert werden soll. Die einzelnen Controller würde ich in einem zentralen Controller unter einem bestimmten Pfad registrieren. <_42_52_ /> <_50_52_45_ CLASS="bbcode">class Application{ ... register(String path, Controller handler){ ... } } Der "path" würde dann den Pfaden im Controller vorangestellt. Im obigen Beispiel würde nach register("welt", new MeinController), die Action "hi" auf "/welt/hi" reagieren. <_42_52_ /> <_42_52_ /> Ich wollte diesen Gedanken mal als kleine Anregung in die Welt entlassen. Vielleicht schreibe ich selbst mal so ein Framework, aber vielleicht kann ich ja auch jemanden dazu inspirieren.<_42_52_ /> <_42_52_ /> Gruß <_42_52_ /> Christian<_42_52_ /> <_42_52_ /> <_42_52_ /> <_42_52_ /> 1 mal bearbeitet. Zuletzt am 23.06.2009 15:53 von christian.


Re: Kompaktes REST-Web-Framework

krey - 24.06.2009 22:35
Interessant! Ich fahre derzeit total auf Javascript ab! Besonders mit JQuery und EJS (http://embeddedjs.com/) zusammen!
Sieht man auch auf meiner Webseite ;)

p.s.:
Achja, was soll der Blödsinn mit der Anti Spam Software auf dem Server?


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Kompaktes REST-Web-Framework" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.