com.supermap.services.rest.encoders
类 JsonpEncoder
- java.lang.Object
-
- com.supermap.services.rest.encoders.Encoder
-
- com.supermap.services.rest.encoders.JsonEncoder
-
- com.supermap.services.rest.encoders.JsonpEncoder
-
- 所有已实现的接口:
- javax.ws.rs.ext.MessageBodyWriter
@Provider public class JsonpEncoder extends JsonEncoder implements javax.ws.rs.ext.MessageBodyWriter
Java 对象的 JSONP 序列化器。
负责将一个 Java 对象序列化成一个 JSONP 字符串。
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 static class
JsonpEncoder.JsonpRepresentation
JSONP 表述。
-
字段概要
字段 限定符和类型 字段和说明 static java.lang.String
defaultCallBack
-
构造器概要
构造器 构造器和说明 JsonpEncoder()
构造函数。JsonpEncoder(HttpServletRequest request)
构造函数,根据 HTTP 请求构建一个 JsonpEncoder 对象。
-
方法概要
方法 限定符和类型 方法和说明 protected java.util.List<MediaType>
createSupportedMediaTypes()
创建支持的媒体类型,这里是 JSONP 类型,即“application/jsonp”。java.lang.String
getCallBack()
获取回调函数名称。protected java.lang.String
getCallBackForRequest(HttpServletRequest request2)
从 HTTP 请求中获取回调函数名。static boolean
isCallBackValid(java.lang.String callBack)
检查回调函数名称是否合法。boolean
isWriteable(java.lang.Class arg0, java.lang.reflect.Type arg1, java.lang.annotation.Annotation[] arg2, javax.ws.rs.core.MediaType arg3)
判断本表述生成器是否支持指定媒体类型的表述。void
setCallBack(java.lang.String callBack)
设置回调函数名称。void
setStatus(int code)
设置相应状态码。protected java.lang.String
toFormatedString(java.lang.Object resultObj)
将一个对象转换成符合 JSONP 规范的字符串。Representation
toRepresentation(MediaType mediaType, java.lang.Object resourceObj)
将一个 Java 对象序列化为 JSONP 的表述。void
writeTo(java.lang.Object arg0, java.lang.Class arg1, java.lang.reflect.Type arg2, java.lang.annotation.Annotation[] arg3, javax.ws.rs.core.MediaType arg4, javax.ws.rs.core.MultivaluedMap arg5, java.io.OutputStream arg6)
生成指定媒体类型的 HTTP 响应。-
从类继承的方法 com.supermap.services.rest.encoders.JsonEncoder
getSize, isindent, toFormatedObject
-
从类继承的方法 com.supermap.services.rest.encoders.Encoder
getSupportedMediaTypes, isEncodeAllow
-
-
-
-
构造器详细资料
-
JsonpEncoder
public JsonpEncoder()
构造函数。
-
JsonpEncoder
public JsonpEncoder(@Context HttpServletRequest request)
构造函数,根据 HTTP 请求构建一个 JsonpEncoder 对象。
- 参数:
request
- HTTP 请求。
-
-
方法详细资料
-
createSupportedMediaTypes
protected java.util.List<MediaType> createSupportedMediaTypes()
创建支持的媒体类型,这里是 JSONP 类型,即“application/jsonp”。
- 覆盖:
createSupportedMediaTypes
在类中JsonEncoder
- 返回:
- 媒体类型列表。
-
getCallBack
public java.lang.String getCallBack()
获取回调函数名称。
- 返回:
- 回调函数名称。
-
setCallBack
public void setCallBack(java.lang.String callBack)
设置回调函数名称。
- 参数:
callBack
- 要设置的回调函数名称。
-
isCallBackValid
public static boolean isCallBackValid(java.lang.String callBack)
检查回调函数名称是否合法。
回掉函数应该为合法的javascript函数名称,这个检查是为了杜绝'跨站点脚本编制',防止用户传入非法字符串. 合法的返回情况为以下三种: functionName({JSON}) obj.functionName({JSON}) obj['functionName']({JSON})
- 参数:
callBack
- 待检查的回调函数名称。- 返回:
- callBack 名称是否合法
-
toRepresentation
public Representation toRepresentation(MediaType mediaType, java.lang.Object resourceObj)
将一个 Java 对象序列化为 JSONP 的表述。
- 覆盖:
toRepresentation
在类中JsonEncoder
- 参数:
mediaType
- 表述的类型。resourceObj
- 欲序列化为表述的 Java 对象。- 返回:
- 指定对象的 JSONP 格式表述。
-
toFormatedString
protected java.lang.String toFormatedString(java.lang.Object resultObj)
将一个对象转换成符合 JSONP 规范的字符串。
- 覆盖:
toFormatedString
在类中JsonEncoder
- 参数:
resultObj
- 要转换的对象。- 返回:
- 符合 JSONP 规范的字符串。
-
isWriteable
public boolean isWriteable(java.lang.Class arg0, java.lang.reflect.Type arg1, java.lang.annotation.Annotation[] arg2, javax.ws.rs.core.MediaType arg3)
判断本表述生成器是否支持指定媒体类型的表述。
- 指定者:
isWriteable
在接口中javax.ws.rs.ext.MessageBodyWriter
- 覆盖:
isWriteable
在类中JsonEncoder
- 参数:
arg0
- 要生成表述的对象。arg1
- 指定的媒体类型。arg2
- 注记数组,资源中有这些注记的方法返回要写入的对象。arg3
- 预期响应的媒体类型。- 返回:
- 如果本表述生成器支持指定的媒体类型,则返回 true,否则返回 false。
-
getCallBackForRequest
protected java.lang.String getCallBackForRequest(HttpServletRequest request2)
从 HTTP 请求中获取回调函数名。
- 参数:
request2
- HTTP 请求。- 返回:
- 回调函数名。
-
setStatus
public void setStatus(int code)
设置相应状态码。
- 参数:
code
- 状态码。
-
writeTo
public void writeTo(java.lang.Object arg0, java.lang.Class arg1, java.lang.reflect.Type arg2, java.lang.annotation.Annotation[] arg3, javax.ws.rs.core.MediaType arg4, javax.ws.rs.core.MultivaluedMap arg5, java.io.OutputStream arg6) throws java.io.IOException, javax.ws.rs.WebApplicationException
从类复制的说明:JsonEncoder
生成指定媒体类型的 HTTP 响应。
- 指定者:
writeTo
在接口中javax.ws.rs.ext.MessageBodyWriter
- 覆盖:
writeTo
在类中JsonEncoder
- 参数:
arg0
- 要生成表述的对象。arg1
- 要生成表述的对象对应的 Java 类。arg2
- 要生成表述的对象的类型。arg3
- 注记数组,资源中有这些注记的方法返回要写入的对象。arg4
- HTTP 响应的媒体类型。arg5
- HTTP 响应的消息头。arg6
- HTTP 响应。- 抛出:
java.io.IOException
- 当读写过程出错时。javax.ws.rs.WebApplicationException
- 当 HTTP 响应出错时。
-
-