2015年7月29日 星期三

[0:環境設定]Spring + RESTHub + Swagger

這篇將介紹Spring + RESTHub + Swagger
透過下面一些XML相關設定,即可部署好對應環境




除了Spring framework外,RESTHub只需contreller與repository,DAO與entity manager都幫你做了
所以只要實作repository則自動幫你做好CRUD,而且可透過spring data 去Query DB
RESTHub針對repository常見操作方式如下
【Query At】
@Query("SELECT c FROM ControlLog c WHERE c.startTimestamp >= ?1 AND c.endTimestamp <= ?2")
public List findByDate(Date startDate, Date endDate);

【Mathod】
public List findByControlIdOrderByStartTimestampAsc(Long controlId);
↑寫這一行就可以Query到資料



Swagger則是將REST API以UI方式呈現,並可在UI上Try API


以往JavaEE要透過JPA取得DB物件需要透過EntityManager,且要設計取得的資料方式
所以在實作上可能接觸到DAO,EJB,JPQL...等所需資源。

RESTHub有什麼好處呢?
DAO可不用實作,也可不編寫JPQL,透過annotation輕鬆取得所需資源
簡而言之,程式設計架構用Spring MVC,其中Model使用JPA(Java Persistence API)
這部分用到Hibernate,但不用實作DAO,因為RESTHub幫你做了。
Controller部分透過RESTHub預設有CRUD五種DB基本操作[R=getId(), getAll()]
再透過Swagger將Server上API透過網頁方式呈現與運行測試。


目前最新的RESTHub版本 【RESTHub + Spring : pom.xml】



  org.resthub
  resthub-jpa
  ${resthub.spring.stack.version}


  org.resthub
  resthub-web-server
  ${resthub.spring.stack.version}


  javax.servlet
  javax.servlet-api
  3.0.1
  provided



【Swagger:pom.xml】


  javax.servlet
  javax.servlet-api
  3.0.1
  provided


  com.mangofactory
  swagger-springmvc
  1.0.2




配置RESTHub repository與swagger
【Spring設定檔 : applicationContext.xml】
  <context:component-scan base-package="org.dd2" />
  <jpa:repositories base-package="org.dd2.repository" />
  <!-- swagger configuration -->
  <bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />




【Swagger UI 截圖】




















RESTHub目錄如下




















至於後續的實作,未來會在介紹唷

沒有留言:

張貼留言