REST笔记

本文介绍了RESTful API设计的基本原则,包括HTTP方法的选择、URI和MIME类型的规范使用等。详细解释了如何通过PUT、POST等方法进行资源的创建与更新,并提供了JAX-RS接口设计的具体案例。
GET,PUT,DELETE,POST,HEAD,OPTIONS
只有POST不是idempotent其它全是。
URI格式
scheme://host:port/path?queryString#fragment
  
MIME的格式
type/subtype;name=value;name=value比如:
text/plain
text/html
text/html; charset=iso-8859-1

no client session data on server side.
可以使用http cache

Create
PUT orders/123需要指定id, 响应201 Created.
POST /orders, 无需ID,响应201 Created.,并在header['Location']中指出这个新建的order的URI
HTTP/1.1 201 Created
Content-Type: application/xml
Location: http://example.com/orders/233


Update

PUT orders/123 响应"200 OK" with response body  OR "204 No Content" without response body

DELETE
同UPDATE

P31所有的入参都必须annotated,只允许有一个入参不被annotated,它代表HTTP Request message body

接口CustomerResource(包含所有的annotation),实现CustomerResourceService(no annotation)

AbstractCustomerResource(包含所有方法annotation),实现CustomerResource(仅包含类上的Annotation->@Path)

P39页继承自Application我们的代码是如何实现的?getClasses, getSingletons

P40写个JAXRS客户端测试REST服务。

@HttpMethod(HttpMethod.GET)
@HttpMethod("LOCK")

P48 @Path 匹配优先级:更长字面量》更多template expression > 更少default template expression
{id} 这是default template expression, {id : .+}这是nondefault template express,  customers这是字面量, {...}这是template expression.

P49 @Path中的特殊字符 ,;:$&+=?/\[]@ 如若出现,JAXRS将会自动转义=> %加上对应的ASCII code(2-digit hexadecimal number)

P50 Matrix Parameters形如:
http://example.cars.com/mercedes/e55;color=black/2006

;color=black就是,它和query parameter不同,它是修饰URI segment(e55)的,你可以放在请求中,但是JAXRS会无视它的存在。


转载于:https://my.oschina.net/uniquejava/blog/294531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值