Provided by: libjifty-perl_1.10518+dfsg-3ubuntu1_all bug

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