[rest-practices] Atom as a generic container? [was Re: Media types]

Mark McLoughlin markmc at redhat.com
Fri Apr 16 09:22:49 UTC 2010


On Thu, 2010-04-15 at 08:44 -0400, Bill Burke wrote:

>  >       application/vnd.rht.rhevm.vm+xml;version=1
>  >       application/vnd.rht.rhevm.host+xml;version=1
>  >       application/vnd.rht.rhevm.collection.vm+xml;version=1
>  >       application/vnd.rht.rhevm.collection.host+xml;version=1
>  >
> 
> IMO, the above two are ok.  Atom does it!

Okay, you're going to need to help me out here :-)

We're talking about the format of the document returned by e.g.
'GET /vms'. At the moment, we're just doing:

  <collection>
    <vm>
    </vm>
    ...
  </collection>

You're suggesting using Atom as a generic container format, right?

Eoghan suggested something similar here:

  https://fedorahosted.org/pipermail/rhevm-api/2010-April/000025.html

> application/atom+xml

This would just be e.g.:

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <atom:feed xmlns:atom="http://www.w3.org/2005/Atom">
    <atom:title>VMs feed</atom:title>
    <atom:updated>2010-04-16T09:47:55.288+01:00</atom:updated>
    <atom:id>http://{host}/vms</atom:id>
    <atom:author>
      <atom:name>RHEV-M</atom:name>
    </atom:author>
    <atom:entry>
      <atom:title>vm2</atom:title>
      <atom:content>
        <vm>
          <link rel="self" href="http://{host}/vms/3"/>
          <id>3</id>
          <name>vm3</name>
          <actions>
            ...
          </actions>
        </vm>
      </atom:content>

That's simple enough:

  http://git.fedoraproject.org/git/?p=rhevm-api.git;a=commitdiff;h=3fff835a

But now, what about supporting clients who prefer json or yaml? Does
"application/atom+json" make much sense, I wonder?

> application/atomcat+xml

We'd use this to describe e.g. 'vm' and 'host' categories?

> application/atomsvc+xml

This would be a toplevel feed pointing to our 'vm' and 'host' feeds?

Thanks,
Mark.




More information about the rest-practices mailing list