SlwRest(Super Lightweight Rest)RESTful框架服務端部署

    SlwRest(Super Lightweight Rest)RESTful框架服務端框架小於100K。客戶端簡潔、高效、標準。是對JSR311-API規範進行了實現(簡化了不必要的過多冗餘實現,比Jersey更簡潔,其中上傳、下載、JSON/XML轉換更強大)。JSR311是java中實現Restful Web Service的API規範(JSR311: JAX-RS: The Java API for RESTful Web Services)。JSR311通過使用註解(annotation)把POJO暴露成Web Service,達到輕量化。

  核心功能:

  • RequestMethod支持GET, POST, DELETE, PUT
  • 參數獲取支持 @FormParam, @PathParam, @QueryParam, @HeaderParam等
  • 內容支持常用的JSON, XML, TEXT
  • 能夠方便地實現Java複雜對象, List, Map對象與JSON/XML的互轉換 
  • 支持多文件、多參數上傳,支持文件下載

框架核心主要包如下:

slw-framework-1.x.jar (37K)

slw-common-1.x.jar    (41K)

slw-restserver-1.x.jar    (13K)

slw-restclient-1.0.x.jar    (7K)

服務端工程用到的包如下(下文Demo工程中都有):


Demo工程框如下:


1, 在web.xml加入SlwRest Servlet

<!-- SlwRest Super Lightweight Rest -->
<servlet>
    <servlet-name>SlwRESTful</servlet-name>
    <servlet-class>org.slw.rest.servlet.RestfulServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>SlwRESTful</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

說明:上述Servlet對所有/rest/*的訪問請求進行響應,如http://localhost:8080/slwRestServer/rest/users/user?id=

2, 在slw-service.xml中註冊寫好的服務資源,可以加多個

<?xml version="1.0" encoding="UTF-8"?>
<slw-service>
    <slwControllers/>
    <slwRestServices>
        <service class="slw.rest.server.resource.UserResource"/>
    </slwRestServices>
</slw-service>

說明:見上文工程截圖,有個ClassReload.java通過Run As Application也可以自動生成slw-service.xml文件。

3, 定義一個服務資源,只需要在標準Java類前面加一行@SlwRestService註解即可

@Path("/users")
@SlwRestService
public class UserResource {
    private static Map<String, SlwUser> userMap = new HashMap<String, SlwUser>();
    /**
     * 根據id查詢 users/user?id=001 
     * @param id
     * @return
     */
    @GET
    @Path("/user")
    @Produces(MediaType.APPLICATION_JSON)
    public SlwUser getUserById_Query(@QueryParam(value = "id") String id) {
	SlwUser u = userMap.get(id);
	return u;
    }
}

說明:類名中的Path定義"users" 即 http://localhost:8080/slwRestServer/rest/users 表示該類資源總的訪問路徑, 方法中的Path定義"user",表示客戶端可通過URL:http://localhost:8080/slwRestServer/rest/users/user?id=001訪問請求。

相關內容:

1、替代Jersey的超輕量RESTful框架—SlwRest(Super Lightweight Rest)

2、SlwRest(Super Lightweight Rest)RESTful框架服務端部署

3、SlwRest(Super Lightweight Rest)RESTful框架服務端開發(1)-RequestMethod

4、SlwRest(Super Lightweight Rest)RESTful框架服務端開發(2)-參數註解,LIST,MAP,文件上傳,下載

框架及DEMO下載:

超輕量RESTful框架—SlwRest(Super Lightweight)客戶端及服務端Demo代碼

王偉東

2018年7月

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章