Provided by: libjifty-perl_1.10518+dfsg-3ubuntu1_all
NAME
Jifty::Manual::TutorialRest - Web Services
DESCRIPTION
This builds on Jifty::Manual::Tutorial, so make sure you have a running jifty that roughly resembles the step-by-step from there.
SETUP
You must add this to your site_config.yml framework: Plugins: - REST: {} See Jifty::Plugin::REST. The commands assume that you have LWP installed with the GET alias. If not, you'll need to use the longhand lwp-request -m GET, or curl, or your browser.
help
Make sure it is working: $ GET http://localhost:8888/=/help Accessing resources: ... You should see some text describing the services, not html (that's longhand for 404.) Check the config and restart the server.
GET
Just list the models. $ GET http://localhost:8888/=/model.yml --- - MyWeblog.Model.Post List the Post schema. $ GET http://localhost:8888/=/model/Post.yml --- body: label: Content name: body readable: 1 sort_order: 1 type: text writable: 1 id: mandatory: 1 name: id readable: 1 type: serial writable: 0 title: default: Untitled post label: Title name: title readable: 1 sort_order: 0 type: text writable: 1 You did make some posts, right? $ GET http://localhost:8888/=/model/Post/id.yml --- - 1 - 2 Dump the data: $ GET http://localhost:8888/=/model/Post/id/1.yml --- body: 'This is my post, the content of which is this, which is mine.' id: 1 title: my first post $ GET http://localhost:8888/=/model/Post/id/2.yml --- body: "Content of another post. Got to go, the cat's on fire." id: 2 title: post deux
POST
TODO not working Actually, it looks like it is not supposed to work this way. Why not? $ echo '--- body: "A post via web services" id: 3 title: "posting from the command-line" ' | lwp-request -m POST http://localhost:8888/=/model/Post.yml POST http://localhost:8888/=/model/Post/id/3.yml --> 404 Not Found
PUT
TODO not working $ echo '--- title: "posting from the cli" ' | lwp-request -m PUT http://localhost:8888/=/model/Post/3.yml 500 Can't read entity body: Connection reset by peer
DELETE
$ lwp-request -m DELETE http://localhost:8888/=/model/Post/id/3.yml --- content: {} error: ~ field_errors: {} field_warnings: {} message: Deleted success: 1