我很难让Jersey RESTful服务正常工作。
我得到以下错误
The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:806)
org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:602)
org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:399)
com.sun.jersey.json.impl.BaseJSONUnmarshaller.unmarshalJAXBElementFromJSON(BaseJSONUnmarshaller.java:111)
com.sun.jersey.json.impl.BaseJSONUnmarshaller.unmarshalFromJSON(BaseJSONUnmarshaller.java:100)
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider.readFrom(JSONRootElementProvider.java:129)
com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.readFrom(AbstractRootElementProvider.java:111)
com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:488)
com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:123)
com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:153)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:183)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
* Closing connection #0
服务是:
@Path("/agents")
public class AgentService {
@POST
@Consumes({MediaType.APPLICATION_JSON + ";charset=utf-8"})
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public String createAgent(AgentTO input) {
try{
// Agent agent = input.createAgent()
// PersistenceService.getInstance().save(agent);
return input.getName();
} catch (Exception se) {
se.printStackTrace();
}
return null;
}
这是我想接受的对象:
@XmlRootElement
public class AgentTO {
private String name;
private String phone;
public AgentTO(){}
public AgentTO(String phone, String name){
this.phone = phone;
this.name = name;
}
我的帖子是这样写的:
curl -H "Content-Type: application/json" -v -X POST -d '{"phone":"123","name":"asd2"}' http://127.0.0.1:8080/project/agents
我以前也做过类似的资源,但这似乎不起作用:P
你能帮我弄一下这个吗?
你好,马丁
您可以使用Gson从body请求中解组JSON。请检查这里。
问题内容: 我需要在Java项目中获取资源映像文件。我正在做的是: 目录结构如下: 事实是,我总是会得到该文件不存在的信息。我尝试了许多不同的方法,但无法解决问题。有什么提示吗? 问题答案: 前导斜杠表示类路径的根 斜线而不是路径中的点 你可以getResource()直接在课堂上致电。
本文向大家介绍Android中获取资源 id 及资源 id 的动态获取,包括了Android中获取资源 id 及资源 id 的动态获取的使用技巧和注意事项,需要的朋友参考一下 Android中获取资源 id 及资源 id 的动态获取 我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句: findViewById是我们获取layout中各
这里有一个案例:我有身份服务器、客户端应用程序和资源(API)。身份服务器在endpoint超文本传输协议://身份服务器: 8080/连接/用户信息上提供用户信息。如果您发送带有有效访问令牌的请求,您将获得有关用户的其他信息。如果我需要有关资源的这些信息,我将如何获得它。我有两个想法: 通过客户端获取用户信息。(客户端在userinfoendpoint上发送请求并获取信息,然后使用请求调用API
问题内容: 我正在尝试在Java Webstart应用程序中加载许多资源。 我最初尝试使用以下命令加载这些文件: 但这没有用-它引发了IllegalArgumentException。进一步的研究表明,该方法不适用于从jar文件访问资源,因此我需要使用以下方法: 但是,当我从Jnlp使用它运行时,得到奇怪的结果。如果我运行以下命令: 在我的IDE中,我得到了对与错(正如我期望的那样)。从jnlp运
将android Studio更新到3.1后,我的项目未编译。与Gradle同步时显示错误。 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException: PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到
问题内容: 我在理解剩余拦截器注释如何添加不同的值(稍后在过滤器中看到)方面有些挣扎。给定下面的代码,我希望一旦在过滤器中,权限值中将包含foo和bar,但是它们为空。任何帮助将不胜感激。 注解 过滤 应用配置 资源类别 日志输出如下: 15:59:55,223信息[标准输出](默认任务9)@ edu.psu.swe.fortress.poc.interceptor.FortressProtect