标签: restlet

如何在浏览器中指定Restlet响应的格式?

我已经开始自我介绍REST了.我用作REST框架Restlet.我已经使用几种响应格式定义了一个带有GET方法的资源

@Get("xml")
@Get("json")
Run Code Online (Sandbox Code Playgroud)

我现在想用我的浏览器测试我定义的响应格式,但我不知道我必须在我的URL中指定哪个参数来获取格式.就像是:

http://localhost:8182/members?type=xml
Run Code Online (Sandbox Code Playgroud)

我尝试了一些param-names,但是我找不到合适的param-name.我知道必须有这样一个参数,因为我已经在URL中看到过它,但我忘记了名字而无法在网上找到它.使用restlet时该参数的名称如何?

如果有人可以帮助我,我会很高兴,谢谢,马丁

rest url restlet

3
推荐指数
1
解决办法
1377
查看次数

可扩展的API服务器,带有Restlet?

我们正在计划一个主要用于JSON响应的新API服务器,它具有RESTful接口.我们关注规模和可用性.我们是否使用Restlet with Jetty(或其他连接器)在正确的轨道上?

我们要问的一个问题是,Java世界中有什么像Phusion Passenger?例如,一个预先构建的解决方案,用于保持服务器实例正常运行?

java scalability restlet

3
推荐指数
1
解决办法
1949
查看次数

Android上的Restlet - 序列化问题

我正在尝试使用Restlet 2.1检索序列化类,其中Android作为客户端,GAE作为服务器.这是相关代码:

ClientResource cr = new ClientResource("http://localhost:8888/mydata");
// Get the MyData object
MyDataResource resource = cr.wrap(MyDataResource.class);
MyData myData = resource.retrieve();
Run Code Online (Sandbox Code Playgroud)

我最初在一个独立的JSE类中进行了测试,一切正常.当我尝试在Android中运行相同的东西时,myData对象为null.有任何想法吗?

java serialization android restlet deserialization

3
推荐指数
1
解决办法
1547
查看次数

如何从android传递参数到RESTlet webservice?

我一直在网上寻找如何将参数传递给RESTlet webservice,但似乎没有太多关于RESTlet的教程.

我想从我的Android应用程序中的表单发送一些参数(如果我可以使用JSON这样做会很棒).

android json restlet

3
推荐指数
1
解决办法
6747
查看次数

如何为多个restlet应用程序配置web.xml?

我想创建一个servlet作为一堆restlet应用程序的容器.我已经为一个restlet应用程序完成了servlet,但是我没有看到如何修改web.xml以适应许多应用程序.这是一个单独的restlet的web.xml :(几乎逐字地从"Restlet in Action MEAP"中获取):

<?xml version="1.0" encoding="UTF-8"?>
...
<display-name>Servlet engine as a container of Restlet applications</display-name>
<servlet>
<servlet-name>CompanyServerApplication</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
  <param-name>org.restlet.application</param-name>
  <param-value>server.CompanyServerApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>CompanyServerApplication</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

restlet

3
推荐指数
1
解决办法
4618
查看次数

在 Json 中:究竟什么是“直接自我引用”

这个问题可能看起来很愚蠢,但对我来说,循环引用是例如对象 A 引用对象 B 而对象 B 引用对象 A。

我正在使用一个 android 应用程序与一个带有 objectify DB 的 GAE 服务器进行通信。

我的模型很简单,但出现错误:

org.codehaus.jackson.map.JsonMappingException: Direct self-reference leading to cycle (through reference chain: java.util.ArrayList[0]->com.my.model.MyMessage["senderKey"]->com.googlecode.objectify.Key["root"])
Run Code Online (Sandbox Code Playgroud)

这是我的模型:MyMessage 指的是 MyUser(MyUser DOESNT 指的是 MyMessage...

这是代码:

public class MyMessage implements Serializable {
private static final long serialVersionUID = -1075184303389185795L;

@Id
private Long id;

@Unindexed
private String sendMessage;

@Unindexed
private String answerMessage;

private MessageStatus status = MessageStatus.FREE;

@Parent
Key<MyUser> senderKey;

Key<MyUser> answererKey;

@SuppressWarnings("unused")
private MyMessage() {
}

public MyMessage(MyUser user, String message) { …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine json restlet objectify

3
推荐指数
1
解决办法
9081
查看次数

XStreamAsAttribute 未添加为属性 - xstream

我写了一个类,它将被 xstream 转换为 xml 。

我添加了 @XStreamAsAttribute 来添加 xmlns 作为属性。但它被添加为输出中的嵌套标签

我的类文件如下

@XStreamAlias("GetConfigurationParametersResponse")
public class GetConfigurationParametersResponse
    extends BaseResponse
{
    @XStreamAlias("xmlns")
    @XStreamAsAttribute
    final String xmlns = "http://www.collab.net/teamforge/integratedapp";

    @XStreamAlias("xmlns:ns2")
    @XStreamAsAttribute 
    final String ns2="http://www.collab.net/teamforge/integratedapp";


    @XStreamImplicit(itemFieldName="ConfigurationParameter")
    protected List<ConfigurationParameter> configurationParameter;

    public List<ConfigurationParameter> getConfigurationParameter() {
        if (configurationParameter == null) {
            configurationParameter = new ArrayList<ConfigurationParameter>();
        }
        return this.configurationParameter;
    }

}
Run Code Online (Sandbox Code Playgroud)

输出如下

<com.collabnet.teamforge.ia.GetConfigurationParametersResponse>
<xmlns>http://www.collab.net/teamforge/integratedapp</xmlns>
<ns2>http://www.collab.net/teamforge/integratedapp</ns2>
</com.collabnet.teamforge.ia.GetConfigurationParametersResponse>
Run Code Online (Sandbox Code Playgroud)

但我需要输出为

<com.collabnet.teamforge.ia.GetConfigurationParametersResponse xmlns="http://www.collab.net/teamforge/integratedapp" xmlns:ns2="http://www.collab.net/teamforge/integratedapp">
</com.collabnet.teamforge.ia.GetConfigurationParametersResponse>
Run Code Online (Sandbox Code Playgroud)

请帮助找出我哪里出错了。我跟着这个教程http://x-stream.github.io/annotations-tutorial.html

xstream jaxb xml-serialization restlet

3
推荐指数
1
解决办法
2351
查看次数

为什么使用REST @Produces注释

所以我明白你是在指定类型,但为什么呢?在什么条件下会很重要.例如,如果我有以下方法,并且我注释掉@Produces注释,它仍然返回JSON.

@GET
@Path("/json")
//@Produces({MediaType.APPLICATION_JSON})
public String getJson(){
    return toJson(getResults());
}
Run Code Online (Sandbox Code Playgroud)

API文档说'如果没有指定,那么容器将假定可以生成任何类型.' 那么为什么我不想让容器承担这个呢?

java rest web-services jax-rs restlet

3
推荐指数
1
解决办法
9116
查看次数

Servlet 类 org.restlet.ext.servlet.ServerServlet 不是 jakarta.servlet.Servlet

什么可能导致此错误?

    Caused by: jakarta.servlet.UnavailableException: Servlet class org.restlet.ext.servlet.ServerServlet is not a jakarta.servlet.Servlet
        at org.eclipse.jetty.servlet.ServletHolder.checkServletType (ServletHolder.java:499)
        at org.eclipse.jetty.servlet.ServletHolder.doStart (ServletHolder.java:377)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:96)
        at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2 (ServletHandler.java:699)
        at java.util.stream.SortedOps$SizedRefSortingSink.end (SortedOps.java:357)
        at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:485)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:474)
        at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining (StreamSpliterators.java:312)
        at java.util.stream.Streams$ConcatSpliterator.forEachRemaining (Streams.java:735)
        at java.util.stream.ReferencePipeline$Head.forEach (ReferencePipeline.java:658)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
Run Code Online (Sandbox Code Playgroud)

我正在从mvn jetty:run插件运行网络应用程序

servlets jetty restlet

3
推荐指数
1
解决办法
728
查看次数

设置内容/媒体类型 - Restlet

如何在Restlet(谷歌应用引擎版本2.0)中设置内容类型?在这种情况下,我想将内容类型设置为""text/xml".

我有:

public class SubResource  extends ServerResource {

 @Get
 public Representation get(Representation representation){

    setStatus(Status.SUCCESS_OK);
    StringRepresentation sr = new StringRepresentation(getSomeXml());

    return sr;
 }
}
Run Code Online (Sandbox Code Playgroud)

即使它是在Representation中设置的值,或者它是从ServerResource类设置的方式与返回代码相同,我也不确定.

回答:

    StringRepresentation sr = new StringRepresentation(getSomeXml());
    sr.setMediaType(MediaType.TEXT_XML);
Run Code Online (Sandbox Code Playgroud)

java content-type restlet

2
推荐指数
2
解决办法
7165
查看次数