我遇到问题,我的休息服务的两个方法在部署时带来了错误,即没有注入源。在jaxrs的休息服务中没有找到注入源
我的服务是这样的:
@Path("/chatservice")
public class ChatServiceImpl implements ChatService{
@POST
@Path("/registerToServer")
@Consumes(MediaType.APPLICATION_JSON)
@Override
public Response registerToServer(User user) {
UserList userListObject = getAllChatableUsers(user);
return Response.status(200).entity(userListObject).build();
}
@POST
@Path("/sendMessage")
@Consumes(MediaType.APPLICATION_JSON)
@Override
public Response sendMessage(Message message) {
boolean isSuccess = putMessageIntoDatabase(message);
return Response.status(200).build();
}
@POST
@Path("/getAllMessagesForUser")
@Consumes(MediaType.APPLICATION_JSON)
@Override
public Response getAllMessagesForUser(UserWithRecipient userWithRecipient) {
return Response.status(200).build();
}
@POST
@Path("/getAllMessagesForUser/{numberOfMessages}")
@Consumes(MediaType.APPLICATION_JSON)
@Override
public Response getMessagesForUser(@PathParam("numberOfMessages") int numberOfMessages, UserWithRecipient userWithRecipient) {
return Response.status(200).build();
}
蒙山问题的类别如下:
@XmlSeeAlso(User.class)
@XmlRootElement
public class UserWithRecipient {
private User user;
private User recipient;
public UserWithRecipient() {
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public User getRecipient() {
return recipient;
}
public void setRecipient(User recipient) {
this.recipient = recipient;
}
}
而我得到的错误是:
[[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response de.hszg.fei.ws.service.ChatServiceImpl.getMessagesForUser(int,de.hszg.fei.ws.model.UserWithRecipient) at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[application/json], producedTypes=[], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class de.hszg.fei.ws.service.ChatServiceImpl, handlerConstructors=[[email protected]]}, definitionMethod=public javax.ws.rs.core.Response de.hszg.fei.ws.service.ChatServiceImpl.getMessagesForUser(int,de.hszg.fei.ws.model.UserWithRecipient), parameters=[Parameter [type=int, source=numberOfMessages, defaultValue=null], Parameter [type=class de.hszg.fei.ws.model.UserWithRecipient, source=null, defaultValue=null]], responseType=class javax.ws.rs.core.Response}, nameBindings=[]}']]]
能你告诉我这个班有什么问题。我也不明白,为什么sendMessage()
方法不会带来同样的问题。
您使用的是哪种JSON提供程序? –