org.redkale.net.http

## 类 HttpRequest

- java.lang.Object
- - org.redkale.net.Request<HttpContext>
  - - org.redkale.net.http.HttpRequest

-     public class HttpRequest
      extends Request<HttpContext>

  Http请求包 与javax.servlet.http.HttpServletRequest 基本类似。
  同时提供json的解析接口: public Object getJsonParameter(Type type, String name)
  Redkale提倡带简单的参数的GET请求采用类似REST风格, 因此提供了 getRequstURIPath 系列接口。
  例如简单的翻页查询
  /pipes/record/query/offset:0/limit:20
  获取页号: int offset = request.getRequstURIPath("offset:", 0);
  获取行数: int limit = request.getRequstURIPath("limit:", 10);

  详情见: https://redkale.org

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected boolean` | `boundary`
    `protected java.lang.String` | `cookiestr`
    `protected AnyValue.DefaultAnyValue` | `header`
    `protected java.lang.String` | `newsessionid`
    `protected AnyValue.DefaultAnyValue` | `params`
    `protected java.lang.String` | `requestURI`
    `protected static java.lang.String` | `SESSIONID_NAME`
    `protected static java.nio.charset.Charset` | `UTF8`

    - ### 从类继承的字段 org.redkale.net.Request

      `attributes, bsonConvert, channel, context, createtime, jsonConvert, keepAlive`

  - ### 构造器概要

    构造器
    构造器和说明
    `HttpRequest(HttpContext context, java.lang.String remoteAddrHeader)`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.lang.String` | `changeSessionid()` 更新sessionid
    `java.lang.String` | `getBody(java.nio.charset.Charset charset)` 获取请求内容指定的编码字符串
    `java.lang.String` | `getBodyUTF8()` 获取请求内容的UTF-8编码字符串
    `boolean` | `getBooleanHeader(java.lang.String name, boolean defaultValue)` 获取指定的header的boolean值, 没有返回默认boolean值
    `boolean` | `getBooleanParameter(java.lang.String name, boolean defaultValue)` 获取指定的参数boolean值, 没有返回默认boolean值
    `protected AsyncConnection` | `getChannel()`
    `java.lang.String` | `getConnection()` 获取Connection的Header值
    `long` | `getContentLength()` 获取请求内容的长度, 为-1表示内容长度不确定
    `java.lang.String` | `getContentType()` 获取Content-Type的header值
    `java.lang.String` | `getCookie(java.lang.String name)` 获取Cookie值
    `java.lang.String` | `getCookie(java.lang.String name, java.lang.String dfvalue)` 获取Cookie值， 没有返回默认值
    `java.net.HttpCookie[]` | `getCookies()` 获取所有Cookie对象
    `protected ByteArray` | `getDirectBody()` 直接获取body对象
    `double` | `getDoubleHeader(java.lang.String name, double defaultValue)` 获取指定的header的double值, 没有返回默认double值
    `double` | `getDoubleParameter(java.lang.String name, double defaultValue)` 获取指定的参数double值, 没有返回默认double值
    `Flipper` | `getFlipper()` 获取翻页对象 同 getFlipper("flipper", false, 0);
    `Flipper` | `getFlipper(boolean needcreate)` 获取翻页对象 同 getFlipper("flipper", needcreate, 0);
    `Flipper` | `getFlipper(boolean needcreate, int maxLimit)` 获取翻页对象 同 getFlipper("flipper", needcreate, maxLimit)
    `Flipper` | `getFlipper(int maxLimit)` 获取翻页对象 同 getFlipper("flipper", false, maxLimit);
    `Flipper` | `getFlipper(java.lang.String name, boolean needcreate, int maxLimit)` 获取翻页对象 https://redkale.org/pipes/records/list/offset:0/limit:20/sort:createtime%20ASC https://redkale.org/pipes/records/list?
    `float` | `getFloatHeader(java.lang.String name, float defaultValue)` 获取指定的header的float值, 没有返回默认float值
    `float` | `getFloatParameter(java.lang.String name, float defaultValue)` 获取指定的参数float值, 没有返回默认float值
    `java.lang.String` | `getHeader(java.lang.String name)` 获取指定的header值
    `java.lang.String` | `getHeader(java.lang.String name, java.lang.String defaultValue)` 获取指定的header值, 没有返回默认值
    `java.lang.String[]` | `getHeaderNames()` 获取所有的header名
    `java.lang.String` | `getHost()` 获取Host的Header值
    `int` | `getIntHeader(int radix, java.lang.String name, int defaultValue)` 获取指定的header的int值, 没有返回默认int值
    `int` | `getIntHeader(java.lang.String name, int defaultValue)` 获取指定的header的int值, 没有返回默认int值
    `int` | `getIntParameter(int radix, java.lang.String name, int defaultValue)` 获取指定的参数int值, 没有返回默认int值
    `int` | `getIntParameter(java.lang.String name, int defaultValue)` 获取指定的参数int值, 没有返回默认int值
    `protected JsonConvert` | `getJsonConvert()`
    `<T> T` | `getJsonHeader(JsonConvert convert, java.lang.reflect.Type type, java.lang.String name)` 获取指定的header的json值
    `<T> T` | `getJsonHeader(java.lang.reflect.Type type, java.lang.String name)` 获取指定的header的json值
    `<T> T` | `getJsonParameter(JsonConvert convert, java.lang.reflect.Type type, java.lang.String name)` 获取指定的参数json值
    `<T> T` | `getJsonParameter(java.lang.reflect.Type type, java.lang.String name)` 获取指定的参数json值
    `long` | `getLongHeader(int radix, java.lang.String name, long defaultValue)` 获取指定的header的long值, 没有返回默认long值
    `long` | `getLongHeader(java.lang.String name, long defaultValue)` 获取指定的header的long值, 没有返回默认long值
    `long` | `getLongParameter(int radix, java.lang.String name, long defaultValue)` 获取指定的参数long值, 没有返回默认long值
    `long` | `getLongParameter(java.lang.String name, long defaultValue)` 获取指定的参数long值, 没有返回默认long值
    `java.lang.String` | `getMethod()` 获取请求方法 GET、POST等
    `MultiContext` | `getMultiContext()` 获取文件上传对象
    `java.lang.String` | `getParameter(java.lang.String name)` 获取指定的参数值
    `java.lang.String` | `getParameter(java.lang.String name, java.lang.String defaultValue)` 获取指定的参数值, 没有返回默认值
    `java.lang.String[]` | `getParameterNames()` 获取所有参数名
    `protected <T> T` | `getProperty(java.lang.String name)`
    `java.lang.String` | `getProtocol()` 获取协议名 http、https、ws、wss等
    `java.lang.String` | `getRemoteAddr()` 获取客户端地址IP, 与getRemoteAddress() 的区别在于：本方法优先取header中指定为RemoteAddress名的值，没有则返回getRemoteAddress()的getHostAddress()。
    `java.net.SocketAddress` | `getRemoteAddress()` 获取客户端地址IP
    `java.lang.String` | `getRequestURI()` 获取请求的URL
    `java.lang.String` | `getRequstURILastPath()` 截取getRequestURI最后的一个/后面的部分
    `int` | `getRequstURIPath(int radix, java.lang.String prefix, int defvalue)` 获取请求URL分段中含prefix段的int值 例如请求URL /pipes/record/query/offset:0/limit:50 获取offset参数: int offset = request.getRequstURIPath("offset:", 0); 获取limit参数: int limit = request.getRequstURIPath(16, "limit:", 20); // limit = 16
    `long` | `getRequstURIPath(int radix, java.lang.String prefix, long defvalue)` 获取请求URL分段中含prefix段的long值 例如请求URL /pipes/record/query/time:1453104341363/id:40 获取time参数: long time = request.getRequstURIPath(16, "time:", 0L);
    `short` | `getRequstURIPath(int radix, java.lang.String prefix, short defvalue)` 获取请求URL分段中含prefix段的short值 例如请求URL /pipes/record/query/type:a 获取type参数: short type = request.getRequstURIPath(16, "type:", (short)0); //type = 10
    `double` | `getRequstURIPath(java.lang.String prefix, double defvalue)` 获取请求URL分段中含prefix段的double值 例如请求URL /pipes/record/query/point:40.0 获取time参数: double point = request.getRequstURIPath("point:", 0.0);
    `float` | `getRequstURIPath(java.lang.String prefix, float defvalue)` 获取请求URL分段中含prefix段的float值 例如请求URL /pipes/record/query/point:40.0 获取time参数: float point = request.getRequstURIPath("point:", 0.0f);
    `int` | `getRequstURIPath(java.lang.String prefix, int defvalue)` 获取请求URL分段中含prefix段的int值 例如请求URL /pipes/record/query/offset:0/limit:50 获取offset参数: int offset = request.getRequstURIPath("offset:", 0); 获取limit参数: int limit = request.getRequstURIPath("limit:", 20);
    `long` | `getRequstURIPath(java.lang.String prefix, long defvalue)` 获取请求URL分段中含prefix段的long值 例如请求URL /pipes/record/query/time:1453104341363/id:40 获取time参数: long time = request.getRequstURIPath("time:", 0L);
    `short` | `getRequstURIPath(java.lang.String prefix, short defvalue)` 获取请求URL分段中含prefix段的short值 例如请求URL /pipes/record/query/type:10 获取type参数: short type = request.getRequstURIPath("type:", (short)0);
    `java.lang.String` | `getRequstURIPath(java.lang.String prefix, java.lang.String defvalue)` 获取请求URL分段中含prefix段的值 例如请求URL /pipes/record/query/name:hello 获取name参数: String name = request.getRequstURIPath("name:", "none");
    `java.lang.String[]` | `getRequstURIPaths(java.lang.String prefix)` 从prefix之后截取getRequestURI再对"/"进行分隔
    `java.lang.String` | `getSessionid(boolean create)` 获取sessionid
    `short` | `getShortHeader(int radix, java.lang.String name, int defaultValue)` 获取指定的header的short值, 没有返回默认short值
    `short` | `getShortHeader(int radix, java.lang.String name, short defaultValue)` 获取指定的header的short值, 没有返回默认short值
    `short` | `getShortHeader(java.lang.String name, int defaultValue)` 获取指定的header的short值, 没有返回默认short值
    `short` | `getShortHeader(java.lang.String name, short defaultValue)` 获取指定的header的short值, 没有返回默认short值
    `short` | `getShortParameter(int radix, java.lang.String name, short defaultValue)` 获取指定的参数short值, 没有返回默认short值
    `short` | `getShortParameter(java.lang.String name, int defaultValue)` 获取指定的参数short值, 没有返回默认short值
    `short` | `getShortParameter(java.lang.String name, short defaultValue)` 获取指定的参数short值, 没有返回默认short值
    `void` | `invalidateSession()` 使sessionid失效
    `protected boolean` | `isKeepAlive()`
    `java.lang.Iterable<MultiPart>` | `multiParts()` 获取文件上传信息列表
    `protected void` | `prepare()`
    `protected int` | `readBody(java.nio.ByteBuffer buffer)` 读取buffer，并返回读取的有效数据长度
    `protected int` | `readHeader(java.nio.ByteBuffer buffer)` 返回值：Integer.MIN_VALUE: 帧数据； -1：数据不合法； 0：解析完毕； >0: 需再读取的字节数。
    `protected void` | `recycle()`
    `protected <T> T` | `removeProperty(java.lang.String name)`
    `protected void` | `setKeepAlive(boolean keepAlive)`
    `protected <T> T` | `setProperty(java.lang.String name, T value)`
    `protected void` | `skipBodyParse()`
    `java.lang.String` | `toString()`

    - ### 从类继承的方法 org.redkale.net.Request

      `getAttribute, getAttributes, getContext, getCreatetime, getProperties, removeAttribute, setAttribute`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 字段详细资料

    - #### UTF8

          protected static final java.nio.charset.Charset UTF8

    - #### SESSIONID_NAME

          protected static final java.lang.String SESSIONID_NAME

      另请参阅:
        常量字段值

    - #### requestURI

          protected java.lang.String requestURI

    - #### cookiestr

          protected java.lang.String cookiestr

    - #### newsessionid

          protected java.lang.String newsessionid

    - #### header

          protected final AnyValue.DefaultAnyValue header

    - #### params

          protected final AnyValue.DefaultAnyValue params

    - #### boundary

          protected boolean boundary

  - ### 构造器详细资料

    - #### HttpRequest

          public HttpRequest(HttpContext context,
                             java.lang.String remoteAddrHeader)

  - ### 方法详细资料

    - #### setKeepAlive

          protected void setKeepAlive(boolean keepAlive)

    - #### isKeepAlive

          protected boolean isKeepAlive()

    - #### getChannel

          protected AsyncConnection getChannel()

    - #### getJsonConvert

          protected JsonConvert getJsonConvert()

    - #### readHeader

          protected int readHeader(java.nio.ByteBuffer buffer)

      从类复制的说明: `Request`
      返回值：Integer.MIN_VALUE: 帧数据； -1：数据不合法； 0：解析完毕； >0: 需再读取的字节数。
      指定者:
        `readHeader` 在类中 `Request<HttpContext>`
      参数:
        `buffer` - ByteBuffer对象
      返回:
        缺少的字节数

    - #### readBody

          protected int readBody(java.nio.ByteBuffer buffer)

      从类复制的说明: `Request`
      读取buffer，并返回读取的有效数据长度
      指定者:
        `readBody` 在类中 `Request<HttpContext>`
      参数:
        `buffer` - ByteBuffer对象
      返回:
        有效数据长度

    - #### prepare

          protected void prepare()

      指定者:
        `prepare` 在类中 `Request<HttpContext>`

    - #### skipBodyParse

          protected void skipBodyParse()

    - #### setProperty

          protected <T> T setProperty(java.lang.String name,
                                      T value)

      覆盖:
        `setProperty` 在类中 `Request<HttpContext>`

    - #### getProperty

          protected <T> T getProperty(java.lang.String name)

      覆盖:
        `getProperty` 在类中 `Request<HttpContext>`

    - #### removeProperty

          protected <T> T removeProperty(java.lang.String name)

      覆盖:
        `removeProperty` 在类中 `Request<HttpContext>`

    - #### getRemoteAddress

          public java.net.SocketAddress getRemoteAddress()

      获取客户端地址IP
      返回:
        地址

    - #### getRemoteAddr

          public java.lang.String getRemoteAddr()

      获取客户端地址IP, 与getRemoteAddress() 的区别在于：本方法优先取header中指定为RemoteAddress名的值，没有则返回getRemoteAddress()的getHostAddress()。
      本方法适用于服务前端有如nginx的代理服务器进行中转，通过 getRemoteAddress()是获取不到客户端的真实IP。
      返回:
        地址

    - #### getBody

          public java.lang.String getBody(java.nio.charset.Charset charset)

      获取请求内容指定的编码字符串
      参数:
        `charset` - 编码
      返回:
        内容

    - #### getBodyUTF8

          public java.lang.String getBodyUTF8()

      获取请求内容的UTF-8编码字符串
      返回:
        内容

    - #### getDirectBody

          protected ByteArray getDirectBody()

      直接获取body对象
      返回:
        body对象

    - #### toString

          public java.lang.String toString()

      覆盖:
        `toString` 在类中 `java.lang.Object`

    - #### getMultiContext

          public final MultiContext getMultiContext()

      获取文件上传对象
      返回:
        文件上传对象

    - #### multiParts

          public final java.lang.Iterable<MultiPart> multiParts()
                                                         throws java.io.IOException

      获取文件上传信息列表
      返回:
        文件上传对象集合
      抛出:
        `java.io.IOException` - IO异常

    - #### recycle

          protected void recycle()

      覆盖:
        `recycle` 在类中 `Request<HttpContext>`

    - #### getSessionid

          public java.lang.String getSessionid(boolean create)

      获取sessionid
      参数:
        `create` - 无sessionid是否自动创建
      返回:
        sessionid

    - #### changeSessionid

          public java.lang.String changeSessionid()

      更新sessionid
      返回:
        新的sessionid值

    - #### invalidateSession

          public void invalidateSession()

      使sessionid失效

    - #### getCookies

          public java.net.HttpCookie[] getCookies()

      获取所有Cookie对象
      返回:
        cookie对象数组

    - #### getCookie

          public java.lang.String getCookie(java.lang.String name)

      获取Cookie值
      参数:
        `name` - cookie名
      返回:
        cookie值

    - #### getCookie

          public java.lang.String getCookie(java.lang.String name,
                                            java.lang.String dfvalue)

      获取Cookie值， 没有返回默认值
      参数:
        `name` - cookie名
        `dfvalue` - 默认cookie值
      返回:
        cookie值

    - #### getProtocol

          public java.lang.String getProtocol()

      获取协议名 http、https、ws、wss等
      返回:
        protocol

    - #### getMethod

          public java.lang.String getMethod()

      获取请求方法 GET、POST等
      返回:
        method

    - #### getContentType

          public java.lang.String getContentType()

      获取Content-Type的header值
      返回:
        contentType

    - #### getContentLength

          public long getContentLength()

      获取请求内容的长度, 为-1表示内容长度不确定
      返回:
        内容长度

    - #### getConnection

          public java.lang.String getConnection()

      获取Connection的Header值
      返回:
        Connection

    - #### getHost

          public java.lang.String getHost()

      获取Host的Header值
      返回:
        Host

    - #### getRequestURI

          public java.lang.String getRequestURI()

      获取请求的URL
      返回:
        请求的URL

    - #### getRequstURILastPath

          public java.lang.String getRequstURILastPath()

      截取getRequestURI最后的一个/后面的部分
      返回:
        String

    - #### getRequstURIPaths

          public java.lang.String[] getRequstURIPaths(java.lang.String prefix)

      从prefix之后截取getRequestURI再对"/"进行分隔

      参数:
        `prefix` - 前缀
      返回:
        String[]

    - #### getRequstURIPath

          public java.lang.String getRequstURIPath(java.lang.String prefix,
                                                   java.lang.String defvalue)

      获取请求URL分段中含prefix段的值
      例如请求URL /pipes/record/query/name:hello
      获取name参数: String name = request.getRequstURIPath("name:", "none");
      参数:
        `prefix` - prefix段前缀
        `defvalue` - 默认值
      返回:
        prefix截断后的值

    - #### getRequstURIPath

          public short getRequstURIPath(java.lang.String prefix,
                                        short defvalue)

      获取请求URL分段中含prefix段的short值
      例如请求URL /pipes/record/query/type:10
      获取type参数: short type = request.getRequstURIPath("type:", (short)0);
      参数:
        `prefix` - prefix段前缀
        `defvalue` - 默认short值
      返回:
        short值

    - #### getRequstURIPath

          public short getRequstURIPath(int radix,
                                        java.lang.String prefix,
                                        short defvalue)

      获取请求URL分段中含prefix段的short值
      例如请求URL /pipes/record/query/type:a
      获取type参数: short type = request.getRequstURIPath(16, "type:", (short)0); //type = 10
      参数:
        `radix` - 进制数
        `prefix` - prefix段前缀
        `defvalue` - 默认short值
      返回:
        short值

    - #### getRequstURIPath

          public int getRequstURIPath(java.lang.String prefix,
                                      int defvalue)

      获取请求URL分段中含prefix段的int值
      例如请求URL /pipes/record/query/offset:0/limit:50
      获取offset参数: int offset = request.getRequstURIPath("offset:", 0);
      获取limit参数: int limit = request.getRequstURIPath("limit:", 20);
      参数:
        `prefix` - prefix段前缀
        `defvalue` - 默认int值
      返回:
        int值

    - #### getRequstURIPath

          public int getRequstURIPath(int radix,
                                      java.lang.String prefix,
                                      int defvalue)

      获取请求URL分段中含prefix段的int值
      例如请求URL /pipes/record/query/offset:0/limit:50
      获取offset参数: int offset = request.getRequstURIPath("offset:", 0);
      获取limit参数: int limit = request.getRequstURIPath(16, "limit:", 20); // limit = 16
      参数:
        `radix` - 进制数
        `prefix` - prefix段前缀
        `defvalue` - 默认int值
      返回:
        int值

    - #### getRequstURIPath

          public float getRequstURIPath(java.lang.String prefix,
                                        float defvalue)

      获取请求URL分段中含prefix段的float值
      例如请求URL /pipes/record/query/point:40.0
      获取time参数: float point = request.getRequstURIPath("point:", 0.0f);
      参数:
        `prefix` - prefix段前缀
        `defvalue` - 默认float值
      返回:
        float值

    - #### getRequstURIPath

          public long getRequstURIPath(java.lang.String prefix,
                                       long defvalue)

      获取请求URL分段中含prefix段的long值
      例如请求URL /pipes/record/query/time:1453104341363/id:40
      获取time参数: long time = request.getRequstURIPath("time:", 0L);
      参数:
        `prefix` - prefix段前缀
        `defvalue` - 默认long值
      返回:
        long值

    - #### getRequstURIPath

          public long getRequstURIPath(int radix,
                                       java.lang.String prefix,
                                       long defvalue)

      获取请求URL分段中含prefix段的long值
      例如请求URL /pipes/record/query/time:1453104341363/id:40
      获取time参数: long time = request.getRequstURIPath(16, "time:", 0L);
      参数:
        `radix` - 进制数
        `prefix` - prefix段前缀
        `defvalue` - 默认long值
      返回:
        long值

    - #### getRequstURIPath

          public double getRequstURIPath(java.lang.String prefix,
                                         double defvalue)

      获取请求URL分段中含prefix段的double值
      例如请求URL /pipes/record/query/point:40.0
      获取time参数: double point = request.getRequstURIPath("point:", 0.0);
      参数:
        `prefix` - prefix段前缀
        `defvalue` - 默认double值
      返回:
        double值

    - #### getHeaderNames

          public java.lang.String[] getHeaderNames()

      获取所有的header名
      返回:
        header名数组

    - #### getHeader

          public java.lang.String getHeader(java.lang.String name)

      获取指定的header值
      参数:
        `name` - header名
      返回:
        header值

    - #### getHeader

          public java.lang.String getHeader(java.lang.String name,
                                            java.lang.String defaultValue)

      获取指定的header值, 没有返回默认值
      参数:
        `name` - header名
        `defaultValue` - 默认值
      返回:
        header值

    - #### getJsonHeader

          public <T> T getJsonHeader(java.lang.reflect.Type type,
                                     java.lang.String name)

      获取指定的header的json值
      类型参数:
        `T` - 泛型
      参数:
        `type` - 反序列化的类名
        `name` - header名
      返回:
        header值

    - #### getJsonHeader

          public <T> T getJsonHeader(JsonConvert convert,
                                     java.lang.reflect.Type type,
                                     java.lang.String name)

      获取指定的header的json值
      类型参数:
        `T` - 泛型
      参数:
        `convert` - JsonConvert对象
        `type` - 反序列化的类名
        `name` - header名
      返回:
        header值

    - #### getBooleanHeader

          public boolean getBooleanHeader(java.lang.String name,
                                          boolean defaultValue)

      获取指定的header的boolean值, 没有返回默认boolean值
      参数:
        `name` - header名
        `defaultValue` - 默认boolean值
      返回:
        header值

    - #### getShortHeader

          public short getShortHeader(java.lang.String name,
                                      short defaultValue)

      获取指定的header的short值, 没有返回默认short值
      参数:
        `name` - header名
        `defaultValue` - 默认short值
      返回:
        header值

    - #### getShortHeader

          public short getShortHeader(int radix,
                                      java.lang.String name,
                                      short defaultValue)

      获取指定的header的short值, 没有返回默认short值
      参数:
        `radix` - 进制数
        `name` - header名
        `defaultValue` - 默认short值
      返回:
        header值

    - #### getShortHeader

          public short getShortHeader(java.lang.String name,
                                      int defaultValue)

      获取指定的header的short值, 没有返回默认short值
      参数:
        `name` - header名
        `defaultValue` - 默认short值
      返回:
        header值

    - #### getShortHeader

          public short getShortHeader(int radix,
                                      java.lang.String name,
                                      int defaultValue)

      获取指定的header的short值, 没有返回默认short值
      参数:
        `radix` - 进制数
        `name` - header名
        `defaultValue` - 默认short值
      返回:
        header值

    - #### getIntHeader

          public int getIntHeader(java.lang.String name,
                                  int defaultValue)

      获取指定的header的int值, 没有返回默认int值
      参数:
        `name` - header名
        `defaultValue` - 默认int值
      返回:
        header值

    - #### getIntHeader

          public int getIntHeader(int radix,
                                  java.lang.String name,
                                  int defaultValue)

      获取指定的header的int值, 没有返回默认int值
      参数:
        `radix` - 进制数
        `name` - header名
        `defaultValue` - 默认int值
      返回:
        header值

    - #### getLongHeader

          public long getLongHeader(java.lang.String name,
                                    long defaultValue)

      获取指定的header的long值, 没有返回默认long值
      参数:
        `name` - header名
        `defaultValue` - 默认long值
      返回:
        header值

    - #### getLongHeader

          public long getLongHeader(int radix,
                                    java.lang.String name,
                                    long defaultValue)

      获取指定的header的long值, 没有返回默认long值
      参数:
        `radix` - 进制数
        `name` - header名
        `defaultValue` - 默认long值
      返回:
        header值

    - #### getFloatHeader

          public float getFloatHeader(java.lang.String name,
                                      float defaultValue)

      获取指定的header的float值, 没有返回默认float值
      参数:
        `name` - header名
        `defaultValue` - 默认float值
      返回:
        header值

    - #### getDoubleHeader

          public double getDoubleHeader(java.lang.String name,
                                        double defaultValue)

      获取指定的header的double值, 没有返回默认double值
      参数:
        `name` - header名
        `defaultValue` - 默认double值
      返回:
        header值

    - #### getParameterNames

          public java.lang.String[] getParameterNames()

      获取所有参数名
      返回:
        参数名数组

    - #### getParameter

          public java.lang.String getParameter(java.lang.String name)

      获取指定的参数值
      参数:
        `name` - 参数名
      返回:
        参数值

    - #### getParameter

          public java.lang.String getParameter(java.lang.String name,
                                               java.lang.String defaultValue)

      获取指定的参数值, 没有返回默认值
      参数:
        `name` - 参数名
        `defaultValue` - 默认值
      返回:
        参数值

    - #### getJsonParameter

          public <T> T getJsonParameter(java.lang.reflect.Type type,
                                        java.lang.String name)

      获取指定的参数json值
      类型参数:
        `T` - 泛型
      参数:
        `type` - 反序列化的类名
        `name` - 参数名
      返回:
        参数值

    - #### getJsonParameter

          public <T> T getJsonParameter(JsonConvert convert,
                                        java.lang.reflect.Type type,
                                        java.lang.String name)

      获取指定的参数json值
      类型参数:
        `T` - 泛型
      参数:
        `convert` - JsonConvert对象
        `type` - 反序列化的类名
        `name` - 参数名
      返回:
        参数值

    - #### getBooleanParameter

          public boolean getBooleanParameter(java.lang.String name,
                                             boolean defaultValue)

      获取指定的参数boolean值, 没有返回默认boolean值
      参数:
        `name` - 参数名
        `defaultValue` - 默认boolean值
      返回:
        参数值

    - #### getShortParameter

          public short getShortParameter(java.lang.String name,
                                         short defaultValue)

      获取指定的参数short值, 没有返回默认short值
      参数:
        `name` - 参数名
        `defaultValue` - 默认short值
      返回:
        参数值

    - #### getShortParameter

          public short getShortParameter(int radix,
                                         java.lang.String name,
                                         short defaultValue)

      获取指定的参数short值, 没有返回默认short值
      参数:
        `radix` - 进制数
        `name` - 参数名
        `defaultValue` - 默认short值
      返回:
        参数值

    - #### getShortParameter

          public short getShortParameter(java.lang.String name,
                                         int defaultValue)

      获取指定的参数short值, 没有返回默认short值
      参数:
        `name` - 参数名
        `defaultValue` - 默认short值
      返回:
        参数值

    - #### getIntParameter

          public int getIntParameter(java.lang.String name,
                                     int defaultValue)

      获取指定的参数int值, 没有返回默认int值
      参数:
        `name` - 参数名
        `defaultValue` - 默认int值
      返回:
        参数值

    - #### getIntParameter

          public int getIntParameter(int radix,
                                     java.lang.String name,
                                     int defaultValue)

      获取指定的参数int值, 没有返回默认int值
      参数:
        `radix` - 进制数
        `name` - 参数名
        `defaultValue` - 默认int值
      返回:
        参数值

    - #### getLongParameter

          public long getLongParameter(java.lang.String name,
                                       long defaultValue)

      获取指定的参数long值, 没有返回默认long值
      参数:
        `name` - 参数名
        `defaultValue` - 默认long值
      返回:
        参数值

    - #### getLongParameter

          public long getLongParameter(int radix,
                                       java.lang.String name,
                                       long defaultValue)

      获取指定的参数long值, 没有返回默认long值
      参数:
        `radix` - 进制数
        `name` - 参数名
        `defaultValue` - 默认long值
      返回:
        参数值

    - #### getFloatParameter

          public float getFloatParameter(java.lang.String name,
                                         float defaultValue)

      获取指定的参数float值, 没有返回默认float值
      参数:
        `name` - 参数名
        `defaultValue` - 默认float值
      返回:
        参数值

    - #### getDoubleParameter

          public double getDoubleParameter(java.lang.String name,
                                           double defaultValue)

      获取指定的参数double值, 没有返回默认double值
      参数:
        `name` - 参数名
        `defaultValue` - 默认double值
      返回:
        参数值

    - #### getFlipper

          public Flipper getFlipper()

      获取翻页对象 同 getFlipper("flipper", false, 0);
      返回:
        Flipper翻页对象

    - #### getFlipper

          public Flipper getFlipper(boolean needcreate)

      获取翻页对象 同 getFlipper("flipper", needcreate, 0);
      参数:
        `needcreate` - 无参数时是否创建新Flipper对象
      返回:
        Flipper翻页对象

    - #### getFlipper

          public Flipper getFlipper(int maxLimit)

      获取翻页对象 同 getFlipper("flipper", false, maxLimit);
      参数:
        `maxLimit` - 最大行数， 小于1则值为Flipper.DEFAULT_LIMIT
      返回:
        Flipper翻页对象

    - #### getFlipper

          public Flipper getFlipper(boolean needcreate,
                                    int maxLimit)

      获取翻页对象 同 getFlipper("flipper", needcreate, maxLimit)
      参数:
        `needcreate` - 无参数时是否创建新Flipper对象
        `maxLimit` - 最大行数， 小于1则值为Flipper.DEFAULT_LIMIT
      返回:
        Flipper翻页对象

    - #### getFlipper

          public Flipper getFlipper(java.lang.String name,
                                    boolean needcreate,
                                    int maxLimit)

      获取翻页对象 https://redkale.org/pipes/records/list/offset:0/limit:20/sort:createtime%20ASC
      https://redkale.org/pipes/records/list?flipper={'offset':0,'limit':20, 'sort':'createtime ASC'}
      以上两种接口都可以获取到翻页对象
      参数:
        `name` - Flipper对象的参数名，默认为 "flipper"
        `needcreate` - 无参数时是否创建新Flipper对象
        `maxLimit` - 最大行数， 小于1则值为Flipper.DEFAULT_LIMIT
      返回:
        Flipper翻页对象