content: package com.alipay.api;
  
  import java.util.Map;
  
  /**
   * 请求接口。
   *
   * @author carver.gu
   * @since 1.0, Sep 12, 2009
   */
  public interface AlipayRequest<T extends AlipayResponse> {
  
      /**
       * 获取TOP的API名称。
       *
       * @return API名称
       */
      String getApiMethodName();
  
      /**
       * 获取所有的Key-Value形式的文本请求参数集合。其中：
       * <ul>
       * <li>Key: 请求参数名</li>
       * <li>Value: 请求参数值</li>
       * </ul>
       *
       * @return 文本请求参数集合
       */
      Map<String, String> getTextParams();
  
      /**
       * 得到当前接口的版本
       *
       * @return API版本
       */
      String getApiVersion();
  
      /**
       * 设置当前API的版本信息
       *
       * @param apiVersion API版本
       */
      void setApiVersion(String apiVersion);
  
      /**
       * 获取终端类型
       *
       * @return 终端类型
       */
      String getTerminalType();
  
      /**
       * 设置终端类型
       *
       * @param terminalType 终端类型
       */
      void setTerminalType(String terminalType);
  
      /**
       * 获取终端信息
       *
       * @return 终端信息
       */
      String getTerminalInfo();
  
      /**
       * 设置终端信息
       *
       * @param terminalInfo 终端信息
       */
      void setTerminalInfo(String terminalInfo);
  
      /**
       * 获取产品码
       *
       * @return 产品码
       */
      String getProdCode();
  
      /**
       * 设置产品码
       *
       * @param prodCode 产品码
       */
      void setProdCode(String prodCode);
  
      /**
       * 返回通知地址
       *
       * @return
       */
      String getNotifyUrl();
  
      /**
       * 设置通知地址
       *
       * @param notifyUrl
       */
      void setNotifyUrl(String notifyUrl);
  
      /**
       * 返回回跳地址
       *
       * @return
       */
      String getReturnUrl();
  
      /**
       * 设置回跳地址
       *
       * @param returnUrl
       */
      void setReturnUrl(String returnUrl);
  
      /**
       * 得到当前API的响应结果类型
       *
       * @return 响应类型
       */
      Class<T> getResponseClass();
  
      /**
       * 判断是否需要加密
       *
       * @return
       */
      boolean isNeedEncrypt();
  
      /**
       * 设置请求是否需要加密
       *
       * @param needEncrypt
       */
      void setNeedEncrypt(boolean needEncrypt);
  
      AlipayObject getBizModel();
  
      /**
       * 设置业务实体，如需使用此方法，请勿直接设置biz_content
       *
       * @param bizModel
       */
      void setBizModel(AlipayObject bizModel);
  }
  