搜索的过滤与排序
搜索在RESTful API里是用GET方法实现的,URI一般是某个对象,可以是单个也可以是列表。以微博搜索为例,如果不加任何条件,其URI一般是这样的:
/api/weibo
/api/weibo/6
但往往还需要限制一下搜索条件,例如评论数大于某个数,或者含有什么关键字,如果是搜索微博列表,也可能加上对日期作升序或降序排序的要求。这些附加条件,是作为query param附加在http请求里的。例如:
左手代码,右手年华
provider是在程序运行时自动调用的一些类,起到配置与修改http请求与回应的作用,是JAX-RS里不可或缺的一项组件。从上一讲可以看到,Resource组件已经能够完全实现RESTful API,在JAX-RS标准里无非就是添加一些注解的事。然而,实现功能只是最基本的要求,要做出企业级的应用,必须符合一些标准和规范,才能最大程度地提高团队的开发效率,并从最佳实践的角度去吻合市场的需求。RESTful API的一些设计规范,就必须要使用到provider去做配置。
所有类名上添加了@provider注解的类,都属于provider组件。下面将介绍一下常用的provider。
关于RESTful API的概念网上已经说过很多,可以用很多语言与框架实现,其规范也十分详尽。我这篇入门教程尽量用自己的理解去总结RESTful API的一些要点,并以JaveEE规范的JAX-RS框架为例,以实战的形式去讲述怎么搭建一套RESTful API,并在实践过程中体现RESTful API的设计规范。