题外: 设计器修改为基于H5的了,有点小幸福~~ 哈哈
版本信息:5.19.0
REST主要核心包在源码 modules 下面 主要三个部分
1. activiti-common-rest
基本设置,内容较少 2. activiti-rest(旧的WEB工程) 大部分内容在这这里,包含着所有的资源发布,不过是一个maven war, 可以修改为JAR 放入到项目内部应用 3. activiti-webapp-rest2(web工程) web 入口,负责初始化系统配置产生,采用注解形式,初始化spring 容器,和权限管理使用场景:使用RESTFul风格操作流程信息,但是在实际应用场景中使用restful这些可能并不合理, 有可能涉及到一些事务管理,但是RESTFul风格的查询我还是很喜欢的
数据库设置
默认H2, 修改MYSQL 要修改db.properties文件
db=mysqljdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=truejdbc.username=rootjdbc.password=
还有记得将MYSQL 驱动 connect jar 包放入 lib中
日志配置文件
在默认配置中只有控制台的输出,日志基于log4j 修改为以下配置文件 方便查看
log4j.rootLogger=INFO, CA ,D# ConsoleAppenderlog4j.appender.CA=org.apache.log4j.ConsoleAppenderlog4j.appender.CA.layout=org.apache.log4j.PatternLayoutlog4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = D:/logs/restlog.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = infolog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.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方式访问