Rop框架學習筆記


1、  提供了開發服務平台的解決方案:比如應用認證、會話管理、安全控制、錯誤模型、版本管理、超時限制

2、  啟動:RopServlet截獲http請求

  配置: 

<servlet>

      <servlet-name>rop</servlet-name>

      <servlet-class>com.rop.RopServlet</servlet-class>

      <load-on-startup>1</load-on-startup>
 </servlet>

<servlet-mapping>

  <servlet-name>rop</servlet-name>

  <url-pattern>/router</url-pattern>

</servlet-mapping>

 

3、  注解

  1)@ServiceMethodBean 標注在class之前,使相應的class成為一個Rop服務的Bean

  2)@SeviceMethod(method = “服務方法名稱”, version=“版本號”, needInSession = 是否要工作在會話環境中)

4、  統一服務的URL

  所有的服務都使用統一的URL,Rop通過method系統級參數將請求分配到指定的服務方法中完成服務代理。服務平台最終的URL為:<開放根平台URL>/<RopServlet的映射URI>

5、  數據轉換過程

  HTTP報文---HttpRequestContext---RopRequestContext---RopRequest輸送給服務方法

6、  使用注解實現HTTP請求到服務處理方法的映射,例如:

  

  @Service
  public class Hello () {

             @ServiceMethod (method = “sayHello”, version = “1.0”)

             public void say () {

                      System.out.println (“Hello”);

      }

  }

 

7、  Rop注解@ServiceMethod的屬性

  method:代碼服務方法名

  version:版本號

  group:服務分組名,無特殊意義,默認分組為ServiceMethodDefinition.DEFAULT_GROUP

  groupTitle:服務分組標識

  tags:類型是String[],可以給服務打上TAG,在時間處理監聽器、服務攔截器利用TAG進行特殊處理

  title:服務的標識

  httpAction:服務允許的HTTP請求方法,可選值在HttpAction枚舉中定義,即GET或POST,如果不指定則不限制

  needInSession:表示該服務方法是否需要工作在Session環境中,默認所有的服務方法必須工作在會話環境中,可以設置needInSession = NeedInSession.NO

  ignoreSign:表示服務是否需要進行請求數據簽名驗證,當@ignoreSign用在屬性上時,該屬性對應的請求參數排除在簽名參數列表之外

  timeout:服務超時時間,單位為秒,如果服務方法執行時間超過timeout后,Rop將直接中斷服務並返回錯誤的報文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM