草庐IT

java - 从 Yaml 文件为请求和响应对象生成 Java 类

我们使用Swaggereditor创建了一个Yaml文件我们的API规范包括基本URL、端点、请求、响应和header信息等。现在我想为这些API实现RESTfulWeb服务。为此,我正在考虑从这个Yaml文件生成我的请求和响应Java类,并正在寻找某种代码生成器,最好是我可以在我的Maven项目中使用的Maven插件/依赖项。我遇到了这个restclientwithswagger其中谈到使用swagger-codegenMavenplugin,但这是为了生成client,我认为这是关于生成客户端代码以使用这些RESTfulAPI,但是我需要生成用于服务实现的类。我将使用Java和Sp

java - Jersey Client 能否自动将 POJO 实体编码为 application/x-www-form-urlencoded,还是我需要编写自定义 MessageBodyWriter?

我正在使用Jersey的Client调用RESTful网络服务与Jackson一起处理JSON的序列化。我还使用JSONConfiguration.FEATURE_POJO_MAPPING设置让Jackson自动将我的POJO序列化为JSON。我将我的POJO发送到的远程服务使用MediaType.APPLICATION_FORM_URLENCODED并生成MediaType.APPLICATION_JSON_TYPE。我是否必须创建自己的MessageBodyWriter实现来处理POJO序列化到application/x-www-form-urlencoded中,或者Jersey是

java - Spring Controller : use domain objects as @RequestBody

我有一个域对象类User(它是一个JPA实体):@EntitypublicclassUser{privateStringname;privatebooleanenabled=true;//getters/setters}我正在尝试提供一个RESTAPI以允许客户使用Spring3MVC创建新用户:@ControllerpublicclassUserController{@RequestMapping(value="/user",method=RequestMethod.POST)@ResponseBodypublicStringcreateRealm(@RequestBodyUseru

java - 如何设计一个简单的 CRUD REST API

我正在设计一个简单的CRUDRESTAPI。这是我的第一次,所以我想就我的设计是否有意义获得一些反馈。我正在使用HTTP方法:GET、POST、DELETE和UPDATE。API将使用和获取JSON格式的数据。示例URL如下所示:GET(list):curlhttp:///myapp/rest/v1/colorsPOST:curl-XPOSThttp:///myapp/rest/v1/colors-d'{"name":"red","shade":"light"}'GET(singleitem):curlhttp:///myapp/rest/v1/colors/2DELETE:curl-

java - HAL+JSON 的正确媒体类型是什么?

我正在使用Spring创建一个RESTful服务,我对媒体类型的语法很好奇。据我了解,HAL+JSON的通用媒体类型是application/hal+json。此外,根据我的理解,支持HAL+JSON的特定于供应商的自定义媒体类型类似于application/vnd.api.entity.hal+json。不过,我也看到了application/vnd.api.entity+hal+json。哪一个是正确的?此外,HAL+JSON的正确通配符类型是什么?是application/*.hal+json还是application/*+hal+json。链接到任何相关的RFC将不胜感激。谢谢

java - 如何启用 Swagger UI? Tomcat、SpringMVC、REST

我的配置如下:pom.xmlcom.mangofactoryswagger-springmvc0.9.1org.webjarsswagger-ui2.0.24根上下文.xml我将我的应用程序部署到Tomcat8.0。我能够在URI处看到SwaggerJSON数据:http://localhost:8080/myapp/api-docs但我无法运行SwaggerUI。我还应该做什么才能在我的项目中运行SwaggerUI? 最佳答案 诀窍在于您的swagger-uimaven依赖项是一个webjar。您需要配置从您的网络服务器到webj

java - 如何使用带有 Kerberos 身份验证的嵌入式 Jetty Server 9?

我正在尝试使用Jetty嵌入式服务器来公开我的RestAPI,现在我想实现Kerberos身份验证。这就是我创建SecurityHandler的方式StringdomainRealm="MY.COM";Constraintconstraint=newConstraint();constraint.setName(Constraint.__SPNEGO_AUTH);constraint.setRoles(newString[]{domainRealm});constraint.setAuthenticate(true);ConstraintMappingcm=newConstraintM

java - Spring REST 返回 PDF - 响应状态 406( Not Acceptable )

我在SO上阅读了很多关于此类问题的问题,但他们都建议使用正确的Jackson版本。这是我的现状:RESTAPI:@RequestMapping(value="get/pdf/{id}",headers="Accept=*/*",method=RequestMethod.GET,produces="application/pdf")@OverridepublicResponseEntitygetPdfContractById(@PathVariable("id")Longid);使用Accept:*/*会在映射请求时产生错误(发生404)来self的pom:com.fasterxml.j

java - 使用 Google OAuth2 授权服务器保护 Spring RESTful API

我计划在AngularJS上使用SpringRESTfulAPI后端和客户端创建应用程序。我想使用GoogleOAuth2授权服务器保护我的SpringRESTfulAPI。我有一个架构问题:在Google中成功授权后,我将从GoogleOAuth2授权服务器接收accessToken。我是否需要将此accessToken传输到我的客户端应用程序(AngularJS),或者我需要在我的后端应用程序中引入一些自己的安全层(例如使用JWT)并基于GoogleaccessToken发布自己的jwtToken并且只将此token传输到我的客户端应用程序?换句话说,从Google向我的客户端An

java - JAX-RS,Map<String,String> 到 JSON 没有开销?

我正在使用JAX-RS在Java中创建Restful网络服务。我在生成的JSON中有很多开销。数据类:@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassTest{privateMapdata;Test(){}publicTest(Mapdata){this.data=data;}publicMapgetData(){returndata;}}服务:@GET@Path("/test")@Produces("application/json;charset=UTF-8;")publicTesttest(){Mapm