1 restlet
Restlet框架应该处理自动内容协商; 但是,它似乎没有做得好.
当客户端使用带有值的Accept标头发送HTTP GET请求时,Restlet不会自动协商内容.
有谁知道如何处理Accept标头?
Restlet API广泛支持"Accept"标头.信息通过Request.getClientInfo().getAcceptedMediaTypes():List<Preference<MediaType>>method 解析并可用.
现在,为了自动为您协商内容,Restlet引擎需要有关于可用变体的信息.这是org.restlet.resource.Resource classRestlet 1.1中的目的,org.restlet.resource.ServerResource正在开发Restlet 2.0版本中的新类.
在Restlet 1.1中,您创建了Resource的子类,声明如下变体:
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
getVariants().add(new Variant(MediaType.APPLICATION_XML));
Run Code Online (Sandbox Code Playgroud)
然后覆盖这样的represent(Variant)方法:
public Representation represent(Variant){
if(MediaType.TEXT_PLAIN.equals(variant.getMediaType()){
...
else if(...)
...
}
Run Code Online (Sandbox Code Playgroud)
最好的问候,杰罗姆
PS:请使用我们的邮件列表以获取未来的问题,并查看档案:http: //www.restlet.org/community/lists
| 归档时间: |
|
| 查看次数: |
3009 次 |
| 最近记录: |