BWAE 中 AEApp 与 WebApp 升级公告

AEApp 和 WEBApp 发布了 0.0.8-SNAPSHOT,
相关版本分别是:

AEApp:

<parent>
    <groupId>com.bw.ae.core</groupId>
    <artifactId>service-parent</artifactId>
    <version>0.0.8-SNAPSHOT</version>
</parent>

WEBApp:

<parent>
    <groupId>com.bw.ae.core</groupId>
    <artifactId>webapp-parent</artifactId>
    <version>0.0.8-SNAPSHOT</version>
</parent>

各项目的开发人员可以根据需要升级。

版本变更如下:

  • bwae-core-runtime 升级到 0.0.7-SNAPSHOT,增加了一个辅助类:com.bw.ae.core.runtime.web.rpc.help.HttpRpcHelper,以解决在 Service 中无法获得当前请求的问题。
    示例如下:

       import javax.servlet.http.HttpServletRequest;
       import javax.servlet.http.HttpServletResponse;
       import com.bw.ae.core.runtime.web.rpc.help.HttpRpcHelper;
    
       ...
       //获得当前的请求:
       HttpServletRequest  req = HttpRpcHelper.getCurrentRequest()
       //获得当前的响应:
       HttpServletResponse resp = HttpRpcHelper.getCurrentResponse()
       ...
    
  • bwae-core-pacer 升级到 0.0.8-SNAPSHOT,增加了 @AEAnnotaion 的功能。可以给 AEService 的接口方法中添加标签,并使用 HttpRpcHelper 类获取这些标签。AEAnnotation 可以应用在权限检查的场景中,执行方法时所需要的权限可通过标签的方式添加到接口上,在过滤器中获取当前接口所需的权限,然后检验当前用户是否满足条件。(@AEAnnatation 功能必须配合 bwae-core-runtime 的 0.0.7-SNAPSHOT 及以上版本使用。)
    示例如下:

      //AeServiceDemoApp1.java
      //@AEAnnation 后各标签用空格分隔,用KEY=VALUE的形式表示。
    
       /**
        * 这是一个BWAE服务接口示例
        * @author caodong
        * @AEService
        */
       public interface AeServiceDemoApp1 {
           /**
            * 打招呼 
            * @param name 用户名字 
            * @return 招呼语
            * @AEAnnotation type=t1 user=t2 aa=bb
            */
           public abstract String sayHello(String name);
       }
    
     // AeServiceDemoApp1Impl.java
     import java.util.Map;
     import javax.servlet.http.HttpServletRequest;
     import org.springframework.stereotype.Service;
     import com.bw.ae.core.runtime.web.rpc.help.HttpRpcHelper;
     @Service
     public class AeServiceDemoApp1Impl implements AeServiceDemoApp1 {
    
         @Override
         public String sayHello(String name) {
             HttpServletRequest req = HttpRpcHelper.getCurrentRequest();
             Map<String, String> annotations = HttpRpcHelper.getAnnotationsByRequest(req);
             return "Hello  " + name + ", Annotations are " + annotations.toString();
         }
     }
    
  • Spring Boot 升级到 1.5.11.RELEASE,Spring 升级到 4.3.15.RELEASE。
  • bwae-core-dubbo 升级到 0.0.6-SNAPSHOT,以保持 Spring 版本兼容。