284354749 发表于 2015-5-31 06:11:08

模拟服务器 Moco 0.10.1 发布

#深圳# 6月10日 亚马逊AWSome Day云计算免费培训报名中
  模拟服务器 Moco 0.10.1 发布,

[*]  使用 httpServer 作为 API,且已经弃用 httpserver ,下一版本中将会删除 httpserve
[*]  文件和路径资源增加字符集
[*]  单位时间延迟(Latency with time unit)和没有时间单位延迟都被弃用,也将在下一版本中被删除
[*]  日志文件增加字符集
[*]  模版作为文件和路径资源的文件名
  变更
  
  本次发布对使用Java API的用户最大影响在于,原来的 httpserver 已经了,推荐使用httpServer。
  HttpServer server = httpServer(12306);
  另外一个废弃掉的API是没有TimeUnit的latency,推荐使用有时间单位的latency接口。
  server.response(latency(1, TimeUnit.SECONDS));
  以上废弃的API将会在下一次发布中移除,请尽早更新。
  接下来,比较大的变动是增加了字符集,file和pathResource都可以进行字符集的处理。
  server.response(file("gbk.response", Charset.forName("GBK")));
  甚至,日志也指定对应的字符集:
  HttpServer server = httpServer(port(), log("path.log", Charset.forName("UTF-8")));
  模板在原来对内容处理的基础上,增加了对文件名的处理:
  server.response(file(template("${var}.response", "var", "foo")));
  这样一来,你可以把更多模板的特性用在文件名上,比如jsonPath、xpath等,也就是说,可以把不同请求应答的结果,放到不同的文件里。当然,你可以把它用在JSON配置文件里:
  
{  
????"response":
  
????{
  
??????"file":
  
??????{
  
????????"name":?{
  
??????????"template":?{
  
????????????"with"?:?"${var}.response",
  
????????????"vars"?:?{
  
??????????????"var"?:?"foo"
  
????????????}
  
??????????}
  
????????}
  
??????}
  
????}
  
??}
  这次发布还有一个针对于JSON API的调整,就是现在可以mount的时候,额外增加应答配置,比如像下面这样:
??{  
????"mount"?:
  
????{
  
??????"dir"?:?"src/test/resources/mount",
  
??????"uri"?:?"/mount-response",
  
??????"headers"?:?{
  
????????"Content-Type"?:?"text/plain"
  
??????}
  
????}
  
??}
  还有一个针对全局配置的特性,就是配置全局Request,如果你想实现一个全局token,保证每次请求都带过来,现在,就不必在每个请求上编写,只要配置一个全局的就好了:
  
??{  
????"request"?:?{
  
??????"headers"?:?{
  
????????"foo"?:?"bar"
  
??????}
  
????},
  
????"include":?"blah.json"
  
??}
  还有一个实现细节方面的调整,如果在模板里采用了xpath或jsonpath,可能会返回多个值,可以参考freemarker的文档编写对多值对象的处理。
  更多发布相关信息,请参考Release Notes。
页: [1]
查看完整版本: 模拟服务器 Moco 0.10.1 发布