我尝试使用CDI和Restful一起构建一个项目(从CDI bean发布Restful服务),但我找不到办法。
有人知道如何在没有EJB的情况下一起工作吗?。
答案 0 :(得分:1)
谈到Restful,我认为你的意思是Jax-RS。请使用以下代码:
<强> UserResource.java 强>
此类实现访问用例 GetUser 的RESTful API并返回其结果。
@Path("users")
@ApplicationScoped
public class UserResource {
@Inject
private GetUser getUser;
@GET
public Response getUser(@QueryParam("userId") String userId) {
return UserRepresentationMapper.toRepresentation(getUser.getUser(userId);
}
}
<强> GetUser.java 强>
GetUser 用例使用一些依赖项(此处为 UserService )来获取其数据并对其执行某些操作。
@ApplicationScoped
public class GetUser {
@Inject
private UserService userService;
public ApplicationUser getUser(String userId) {
// ...
}
}
并在META-INF
(jar)或WEB-INF
(war)目录中设置beans.xml
以激活CDI(使用JEE7时不需要JEE6,beans.xml
您的类使用bean defining annotations)进行注释。