草庐IT

java - 使用 JAX-RS Jersey 进行身份验证和授权的简便方法

我是REST的新手,目前正在使用JAX-RSJersey开发API。我很好奇实现用户管理的最简单方法是什么。IE。用户必须登录并根据其角色限制对不同资源的访问。据我了解,使用OAuth2.0是当前的标准。我可以用Jersey实现吗?有没有人有一些链接让我开始(示例、教程)?或者您会建议另一种方法吗?非常感谢 最佳答案 有多种方法可以实现这一点,让我指出其中的几个:HTTPBasicauthentication(BA)实现是对Web资源实现访问控制的最简单技术,因为它不需要cookie、session标识符和登录页面。相反,HTTP基

javax.ws.rs.NotFoundException : Could not find resource for full path

环境Windows7(64)jdk1.7.0_51(64)RESTEasy3.0.7apache-tomcat-7.0.50ProjectName:helloRESTEasyHelloWorldService.java:packagecom.javacodegeeks.enterprise.rest.resteasy;importjavax.ws.rs.GET;importjavax.ws.rs.Path;importjavax.ws.rs.PathParam;importjavax.ws.rs.Produces;importjavax.ws.rs.core.MediaType;@Pa

java - Jersey 客户端下载并保存文件

我是jersey/JAX-RS实现的新手。请在下面找到我的Jersey客户端代码以下载文件:Clientclient=Client.create();WebResourcewr=client.resource("http://localhost:7070/upload-0.0.1-SNAPSHOT/rest/files/download");Builderwb=wr.accept("application/json,application/pdf,text/plain,image/jpeg,application/xml,application/vnd.ms-excel");Clien

java - 如何让 JAX-RS 返回 Java 8 LocalDateTime 属性作为 JavaScript 样式的日期字符串?

我使用JAX-RS方法注释创建了一个RESTful网络服务:@GET@Path("/test")@Produces(MediaType.APPLICATION_JSON)publicMyThingtest(){MyThingmyObject=newMyThing(LocalDateTime.now());returnmyObject;}这很好用,但我想调整一件事:如果返回的Java对象包含新的Java8LocalDateTime类型的属性,则它表示为JSON对象:{"myDateTimeProperty":{"hour":14,"minute":32,"second":39,"year

java - RestEasy 可以为 @GET 方法序列化 POJO 吗?

我们使用Resteasy,但在确定如何调用某些@GET方法时遇到了问题。如果方法的接口(interface)只有简单的参数,没有问题。例如:@GET@Path("/test/{myparam}")publicFacetQueryResultImpltestMethod(@PathParam("myparam")Stringmyparam);但是如果我们尝试使用POJO作为参数,RestEasy似乎无法将其序列化为查询字符串参数。例如:@GET@Path("/testGet")publicFacetQueryResultImpltestMethod(ParamPojomyparam);或

java - Jersey 解析 Java 8 日期时间

这是我的用户类,我要在我的数据库中保存符合ISO标准的日期时间。publicclassUser{@IdprivateStringid;privateStringemail;@DateTimeFormat(iso=DateTimeFormat.ISO.DATE_TIME)privateLocalDateTimeloginDate;}这是我的JerseyController:@POST@Consumes("application/json")@Produces("application/json")publicResponsecreate(Useruser){MapapiResponse=

java - 使用 JAX-RS 时返回对象列表

如何返回XML或JSON格式的问题对象列表?@Path("all")@GETpublicListgetAllQuestions(){returnquestionDAO.getAllQuestions();}我得到这个异常:SEVERE:Mappedexceptiontoresponse:500(InternalServerError)javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:AmessagebodywriterforJavaclassjava.util.Vector,andJavaty

java - 在 Jersey 中使用@Context HttpServletRequest 和@FormDataParam 进行多文件上传

我创建了一个jerseyrestfulweb服务,我使用@ContextHttpServletRequest请求作为方法签名设法上传多个文件工作得很好。事情是,要获取其他表单字段,我需要重复检查.isFormField();方法和相对.getName();文件或.getFieldName();和.getString();方法来检查必填字段是否存在每次调用web服务,我认为这很冗长如果还有其他几个字段,则过程昂贵。更简单的方法是使用@FormDataParam,其中web服务过去常常使用客户端需要传递的参数公开,但问题是我无法上传多个文件一去。因为如果媒体类型或编码类型为multipar

java - 带有状态代码的 Jersey Viewable

JAX-RS实现Jersey通过Viewable类支持MVC风格的Web应用程序,该类是模板名称和模型对象的容器。是usedlikethis:@GETpublicViewableget(){returnnewViewable("/index","FOO");}我想知道如何使用这种方法返回状态代码。以上将隐式返回200,但这在任何情况下都不合适。有没有办法显式设置状态码? 最佳答案 您必须返回一个Response设置正确的状态代码和包含您的Viewable的header,例如:@GETpublicResponseget(){retur

java - Web 服务 : JAX-WS, CXF、WSDL...那是什么?

很抱歉提出他的新手问题。但我真的需要从这个开始。我想访问我的JavaEE项目中的Web服务。该网络服务提供了一个WSDL文件。所以我知道我可以用它来构建Java代码来访问Web服务。现在我读到ApacheCXF是一个很好的框架,我可以使用。但是与JAX-WS有什么不同呢?谁能给我解释一下吗? 最佳答案 JAX-WS是一种规范(由SunOracle提供),用于通过使用注释来定义Web服务。ApacheCXF是一个实现JAX-WS以生成Web服务定义和Java代理(来自Web服务定义)的框架ApacheAxis2也是一个现在支持JAX-