gpt4 book ai didi

java - 为什么 GAE 上的 ReSTLet 说 Component is NULL

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:32 27 4
gpt4 key购买 nike

在对 ReSTLet 资源发出的每个请求中,我都会在 Google App Engine 日志中看到以下日志

21:38:50.059 javax.servlet.ServletContext log: ExampleAPIs: [Restlet] ServerServlet: component class is null
21:38:51.568 javax.servlet.ServletContext log: ExampleAPIs: [Restlet] Attaching application: com.example.api.ExampleAPIConfig@68ec99 to URI: /example/v1

为什么说 Component is null?我同意我没有定义组件而是使用 ServerResources 并将它们映射到 Application 类中的路由器。 但这就是根据 ReSTLet GAE 版文档应该如何完成的。

布线线路应用类

public Example extends Application {
@Override
public Restlet createInboundRoot() {
router = new Router(getContext());
CorsService corsService = new CorsService();
corsService.setAllowedOrigins( new HashSet<String>(Arrays.asList("http://example.com")));
corsService.setAllowedCredentials(true);
getServices().add(corsService);

router.attach("/xyz", XYZ.class);
}
}

处理并返回 JSON 表示的服务器资源

public class XYZ extends ServerResource {

private static final Logger logger = Logger.getLogger("API:Xyz");

@Get(":json")
public Representation handleGetRequest() {
..
return new JsonRepresentation("{\"code\": 4008, \"description\": \"Something blah something\"}");
}
}

我做错了什么吗?

最佳答案

您是否按照文档(链接下方)中的说明配置了您的 servlet 配置文件。我认为 servlet 没有绑定(bind)到一个类。

https://restlet.com/technical-resources/restlet-framework/guide/2.3/editions/gae

更新

好的,如果您更深入地了解文档: https://restlet.com/technical-resources/restlet-framework/javadocs/2.0/jee/ext/org/restlet/ext/servlet/ServerServlet.html
https://restlet.com/technical-resources/restlet-framework/javadocs/2.0/jee/api/org/restlet/Component.html您可以看到该组件是可选的,但可能很有用,但也许在 GAE 实现中它默认没有。

关于java - 为什么 GAE 上的 ReSTLet 说 Component is NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37976242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com