@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 响应。
|
getSize, isindent, toFormatedObject
getSupportedMediaTypes, isEncodeAllow
public JsonpEncoder()
构造函数。
public JsonpEncoder(@Context HttpServletRequest request)
构造函数,根据 HTTP 请求构建一个 JsonpEncoder 对象。
request
- HTTP 请求。protected java.util.List<MediaType> createSupportedMediaTypes()
创建支持的媒体类型,这里是 JSONP 类型,即“application/jsonp”。
createSupportedMediaTypes
在类中 JsonEncoder
public java.lang.String getCallBack()
获取回调函数名称。
public void setCallBack(java.lang.String callBack)
设置回调函数名称。
callBack
- 要设置的回调函数名称。public static boolean isCallBackValid(java.lang.String callBack)
检查回调函数名称是否合法。
回掉函数应该为合法的javascript函数名称,这个检查是为了杜绝'跨站点脚本编制',防止用户传入非法字符串. 合法的返回情况为以下三种: functionName({JSON}) obj.functionName({JSON}) obj['functionName']({JSON})
callBack
- 待检查的回调函数名称。public Representation toRepresentation(MediaType mediaType, java.lang.Object resourceObj)
将一个 Java 对象序列化为 JSONP 的表述。
toRepresentation
在类中 JsonEncoder
mediaType
- 表述的类型。resourceObj
- 欲序列化为表述的 Java 对象。protected java.lang.String toFormatedString(java.lang.Object resultObj)
将一个对象转换成符合 JSONP 规范的字符串。
toFormatedString
在类中 JsonEncoder
resultObj
- 要转换的对象。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
- 预期响应的媒体类型。protected java.lang.String getCallBackForRequest(HttpServletRequest request2)
从 HTTP 请求中获取回调函数名。
request2
- HTTP 请求。public void setStatus(int code)
设置相应状态码。
code
- 状态码。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 响应出错时。