題外: 設計器修改成基於H5的了,有點小幸福~~ 哈哈 java
版本信息:5.19.0 mysql
REST主要核心包在源碼 modules 下面 主要三個部分 web
1. activiti-common-rest
基本設置,內容較少
2. activiti-rest(舊的WEB工程)
大部份內容在這這裏,包含着全部的資源發佈,不過是一個maven war, 能夠修改成JAR 放入到項目內部應用
3. activiti-webapp-rest2(web工程)
web 入口,負責初始化系統配置產生,採用註解形式,初始化spring 容器,和權限管理 spring
使用場景:使用RESTFul風格操做流程信息,可是在實際應用場景中使用restful這些可能並不合理, 有可能涉及到一些事務管理,可是RESTFul風格的查詢我仍是很喜歡的 sql
數據庫設置 數據庫
默認H2, 修改MYSQL 要修改db.properties文件 apache
db=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true jdbc.username=root jdbc.password=
還有記得將MYSQL 驅動 connect jar 包放入 lib中 json
日誌配置文件 跨域
在默認配置中只有控制檯的輸出,日誌基於log4j 修改成如下配置文件 方便查看 瀏覽器
log4j.rootLogger=INFO, CA ,D # ConsoleAppender log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D:/logs/restlog.log log4j.appender.D.Append = true log4j.appender.D.Threshold = info log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
RESTFUL服務訪問
系統默認使用basic驗證,使用提供默認的帳號 kermit kermit 登錄便可
系統服務訪問示例 在官方 或者 日誌中打印的路徑前面要添加上 service
最終路徑以下: 如資源:form/form-data
http://localhost/activiti-rest/service/form/form-data?taskId=1
關於採用HTTP get方式時候出現的中文亂碼問題解答
在系統中採用的spring mvc轉換時候採用的jackson, MappingJackson2HttpMessageConverter 負責將對象轉換爲message,
在咱們使用瀏覽器直接訪問資源的時候因爲 請求頭的類型是 text/plain, 不在默認的支付範圍之列,嚴格使用的時候應該是 application/json 只要設定好請求頭信息就不存在亂碼問題 默認UTF-8
HTTP RESTFUL JAVASCRIPT 尷尬的跨域
通常JAVASCRIIPT 是採用JSONP(<script>標籤)執行,可是不符合HTTPRESTFUL風格, 只能採用HTTP設置安全域的方式製做。
在最新的SPRINGMVC中提供了對JSON轉換器攔截, 查看抽象類 AbstractJsonpResponseBodyAdvice ,以及@controllerAdvice的使用 使用資源的JSONP方式訪問