Play Framework,RESTful API和媒体类型

时间:2013-11-05 12:49:33

标签: rest playframework

我正在使用Play实现RESTful API ...即使我倾向于仅支持JSON,看起来也支持XML是一种好习惯。我在互联网上阅读了一些有趣的文章,介绍了如何设计一个优秀的RESTful API并理解媒体类型应该在URL中 - 最常用的选项似乎是将.json.xml扩展名附加到端点URL。

现在的问题是:我如何在Play中实现这一点?我应该为每种格式定义一条路线:

GET     /products.json/:id         controllers.Products.show(id: Int, format: String = "json")
GET     /products.xml/:id          controllers.Products.show(id: Int, format: String = "xml")

......或者我应该定义这样的东西:

GET     /products.:format/:id      controllers.Products.show(id: Int, format: String)

就个人而言,我更愿意在Accept header中指定媒体类型......但看起来不鼓励或至少不是最佳做法。

1 个答案:

答案 0 :(得分:0)

我的印象是这两种方式都是REST API的接受解决方案,所以如果你最喜欢的话,请使用Accept标头!