繁体   English   中英

restlet内容类型,带有restlet的版本控制

[英]restlet content type, versioning with restlet

我通过将restlet与骆驼一起使用来提供休息服务。

我已经将休息服务作为一个方面公开,而另一方面,我已经覆盖了处理方法。 代码如下所示,

from("restlet:/service/serviceName/{serviceId}?restletMethod=PUT").process(new Processor() {
  @Override
    public void process(Exchange exchange) throws Exception {
    //Implementation goes here.
  }
}

我在这里有两个问题。

  • 我无法为请求设置内容类型
  • 我无法实现内容类型的版本控制

我尝试了以下选项。

setHeader(Exchange.CONTENT_TYPE, simple("application/json"))

setHeader(Exchange.ACCEPT_CONTENT_TYPE, simple("application/json"))

问题仍然没有解决。 还有其他选择吗?

所以你的路线是从。 这意味着您向它发送了一个请求。

  1. 从提琴手,chrome或其他您想要的标头向其发送请求。

  2. 将日志添加到打印出整个交换(包括标头)的路由。 在这里,您将找到Content-Type以及所有其他HTTP标头。

  3. 要访问它们,您需要像其他任何标头一样访问Exchange上的标头。

我不明白您为什么在这里设置标题。

例如,在您的过程代码中,您可以这样:

String contentType=(String) exchange.getIn().getHeader("Content-Type");
        if (contentType.equals("application/json")) {
//do something
}

请注意,由于RESTLET区分大小写,因此您需要验证标头为Content-Type而不是content-type或类似的名称。 这就是为什么您需要添加日志记录以查看交换器上标头的名称的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM