【发布时间】:2013-09-30 11:41:19
【问题描述】:
我对下面发布的所有内容都很陌生。我知道基本的 Java 编程。我过去使用过基础级别的肥皂。但是这里我不明白这个 Rest API 是什么?它看起来怎么样?它在开发时提供了什么?
在我开始这项工作之前,如果有任何帮助可以指导我从哪里开始、创建哪些课程、了解哪些技术,我将不胜感激。我真的很想学这些东西。
我想使用 Spring MVC 构建一个 RESTful API
我要为图书馆建立一个图书管理系统。
1)API必须支持JSON数据格式。
2)应用程序名称应该是“library”,以便所有端点都以
开头3)http://x.x.x.x:8080/library.
4)应用服务器必须在8080端口上运行。
1)资源模型
书籍 ---> 评论 | | 作者
2) 资源详情
书籍
---ISBN (Key) # 你会生成这个密钥。
---标题(必填)
---出版日期(必填)
---语言(可选字段)
---页数(可选)
---Status {available, check-out, in-queue, or lost} # 默认为‘available’
作者
---ID (Key) # 你会生成这个密钥。
---名称(必填)
评论
---ID (Key) # 你会生成这个密钥。
---评分(1-5 星)(必填)
---评论(必填)
*要构建的 API* 1) 根 API -
○ 资源:GET - /(例如http://x.y.z:8080/library/v1/)
○ 描述:这是客户端可以启动系统工作流的地方。返回链接列表以启动工作流程,即创建新书。
预期响应:
HTTP Code: 200
{
“links” : [
{ “rel”: “create-book”, “herf”: “/books”, “method”: “POST” }
]
}
2)创建图书 API
○ 资源:POST - /books
○ 说明:将新书连同作者信息一起添加到图书馆。
示例请求:POST /books 在请求正文中包含以下有效负载。
{
"title" : "Programming Amazon EC2",
"publication-date" : "2/11/2011",
"language" : "eng",
"num-pages": 185,
"status" : "available",
"authors" : [
{ "name" : "Jurg Vliet" },
{"name" : "FlaviaPagenelli"} ]
}
预期响应:
HTTP Code: 201
{
“links” : [
{ “rel”: “view-book”, “herf”: “/books/1”, “method”: “GET” },
{ “rel”: “update-book”, “herf”: “/books/1”, “method”: “PUT” },
{ “rel”: “delete-book”, “herf”: “/books/1”, “method”: “DELETE” },
{ “rel”: “create-review”, “herf”: “/books/1/reviews”, “method”: “POST” }
]
}
同样还有更多的 API ......
提前致谢,感谢任何帮助。
【问题讨论】:
-
如果您有关于 REST 或 spring 的具体问题,请提出,但像这样的宽泛问题不适合这里。
-
嘿,杰夫,我知道在这里不能问广泛的问题。我刚刚在这里上传了所有这些东西,以便试图帮助我的人能够了解我想要理解的内容。指向正确方向的简短答案将不胜感激。
-
Jyot,将来您可能希望将 ServiceStack 的 RestHandler 用于您的 restful api 基础架构,github.com/ServiceStack/ServiceStack/wiki/Architecture-overview