RESTful 随笔

1. 资源

需要一个自解释的名字。名字通过URL给出。如2005年按月报表:

   http://example.org/reports/2005/monthly

2. 资源上面可以执行多个动词   GET/PUT/POST/DELETE

   遵循幂等原则,不是简单的CRUD。如PUT成功后可以在返回资源内容的时候, Location到替换的资源的URL。

3. 资源可以索引到更多的资源

如http://example.org/reports/2005/monthly可以索引:

http://example.org/reports/2005/month/1

http://example.org/reports/2005/month/2

...

   http://example.org/reports/2005/month/12

4. 资源的格式是客户端提出的。客户端发出Accept头

Accept:text/xml

得到:

<reports>

<report>http://examples.org/reports/2005/month/1</report>

           <report>http://examples.org/reports/2005/month/2</report>

           ...

<report>http://examples.org/reports/2005/month/12</report>

</reports>

Accept:application/json

得到:

{"reports":[{"report":"http://examples.org/reports/2005/month/1"},

                    {"report": "http://examples.org/reports/2005/month/2"}, 

                     ...

{"report":"http://examples.org/reports/2005/month/12"},

                   ]}

相关推荐