public class RestApplication
extends Application
REST 应用类。
RestAapplication 是部署 REST 式应用的基本单元,是独立于运行环境的,RestAapplication 可以部署在 Restlet 的 Component 中,通过配置和少量的代码也可以部署到各种环境中,如 Servlet 容器、OSGI 内核、Spring、Guice Ioc 容器、独立的 JVMS、Groovy、Scala 、JAIN/SLEE 等。
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
RESTCONTEXTNAME
字符串常量。
|
构造器和说明 |
---|
RestApplication()
默认构造函数。
|
RestApplication(RestContext restContext)
构造函数。
|
限定符和类型 | 方法和说明 |
---|---|
void |
addFilter(Filter filter)
给 REST 应用增加一个过滤器,比如安全校验器。
|
void |
addResourceBinding(java.util.Map<java.lang.String,java.lang.Class<? extends ServerResource>> bindings)
向 REST 应用中增加资源。
|
boolean |
attach(java.lang.String urlTemplate, Restlet handler)
将一个 Restlet 绑定在 REST 应用中。
|
Restlet |
createInboundRoot()
创建路由器。
|
Filter |
getFirstFilter() |
RestContext |
getRestContext()
获取 REST 应用上下文。
|
void |
setRestContext(RestContext restContext)
设置 REST 应用上下文。
|
public static final java.lang.String RESTCONTEXTNAME
字符串常量。
这里设置的常量值为:"org.supermap.rest.restContext"。
public RestApplication(RestContext restContext)
构造函数。
通过上下文构造 RestApplication 对象。
restContext
- RestContext 对象。public RestApplication()
默认构造函数。
public void setRestContext(RestContext restContext)
设置 REST 应用上下文。
restContext
- 欲设置的上下文,即 RestContext 对象。public RestContext getRestContext()
获取 REST 应用上下文。
public Restlet createInboundRoot()
创建路由器。
路由器中存储有 URI 模板跟资源实现类的关联关系,用来将 RestApplication 接收到的 HTTP 请求转发给合适的资源处理。如果应用启动时,发现 this.root 属性为空,将调用该方法创建路由器。
public void addFilter(Filter filter)
给 REST 应用增加一个过滤器,比如安全校验器。
filter
- 欲增加的过滤器。public void addResourceBinding(java.util.Map<java.lang.String,java.lang.Class<? extends ServerResource>> bindings)
向 REST 应用中增加资源。
一个 URI 模板对应 REST 应用中的一个资源,本函数的参数就是 URI 模板与资源实现类的映射序列,序列中每个映射元素都代表了一个资源。
bindings
- 绑定信息映射序列。public boolean attach(java.lang.String urlTemplate, Restlet handler)
将一个 Restlet 绑定在 REST 应用中。
一个 URI 模板对应一个 Http 请求处理器,Http 请求处理器负责处理所有该 URI 模板的 Http 请求。如果 URI 模板已经绑定了一个 Http 请求处理器,则执行该方法后,新的 Http 请求处理器会覆盖原来的 Http 请求处理器。
urlTemplate
- URI 模板。handler
- Restlet 对象,即 Http 请求处理器。public Filter getFirstFilter()