草庐IT

java - Swagger 处理多个基本路径

我正在使用swagger-ui为我们的客户提供RESTAPI的良好文档。在内部,我们有两个不同的环境jenkin将项目构建到。例如。swagger.json在两种环境中都可以访问:http://www.myhost.com/xyz/rest/swagger.jsonhttps://www.myhost2.com/rest/swagger.json文档可作为:http://www.myhost.com/xyz/dist/index.htmlhttps://www.myhost2.com/dist/index.htmlweb.xml中的swaggerapibasepath是:swagger

java - 返回 javax.ws.rs.core.Response 的列表,结果为 500

我正在尝试从我的休息端点返回一个响应对象的ArrayList。为此,我将我的结果集包装在一个通用实体对象中try{GenericEntity>response=newGenericEntity>(responses){};returnResponse.ok(response).build();}catch(Exceptione){e.printStackTrace();}无论我尝试什么,我都会得到500美元的返回,这令人沮丧。有没有一种方法可以让我得到关于为什么失败的更明确的答案?我的方法使用的注解如下;@POST@Path("restendpoint")@Consumes(Media

没有模式的 Java REST 客户端

目标雅虎HotJobs的Java客户端ResuméSearchRESTAPI.背景我习惯于为SOAPAPI编写Web服务客户端,其中wsimport生成代理stub,然后您就可以运行了。但这是一个RESTAPI,对我来说是新的。详情REST应用程序接口(interface)没有WADL没有正式的XML架构(XSD或DTD文件)。有exampleXMLrequest/responsepairs.没有提供示例代码进展我看了问题RestclientsforJava?,但其中的自动化解决方案假定您同时提供服务器和客户端,并在POJO上调用JAXB以生成模式和RESTAPI。使用Jersey(J

java - Jersey 错误 : MessageBodyReader not found for media type=application/json

我正在尝试使用Jersey作为框架来实现一个小型RESTAPI,原则上代码工作正常但是当我尝试对哈希表执行“GET”时,出现以下错误:nov23,20144:27:40PMorg.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptoraroundReadFromGRAVE:MessageBodyReadernotfoundformediatype=application/json,type=interfacejava.util.Map,genericType=java.u

java - 带下划线的 Spring Data Rest 排序字段

我们在连接到postgres数据库的PagingAndSortingRepository之上使用一个非常简单的@RepositoryRestResource设置。我们还配置了spring.jackson.property-naming-strategy=SNAKE_CASE以返回漂亮的json。在我们开始分类之前,一切都很好。正如我们所发现的那样-排序要求我们提供实际的类字段名称(我们当然有驼峰式):get("/thing?sort=dateCreated,desc")当我们尝试对javascript友好时get("/thing?sort=date_created,desc")它悲惨地

java - 从运行 Java Jersey Rest API 的 HTTP 服务器传输大文件

我正在使用JavaJDK1.7和JerseyWeb服务框架编写Web服务。我需要提供的其中一件事是允许经过身份验证的客户端下载某些大型数据文件(1-3GB)的方法。理想情况下,我希望这是一个暂停和恢复类型的可下载选项。我尝试了jerseymulti-partAPI,并能够让它在我的客户端机器上运行高达400MB,但超过400MB时它会遇到内存不足的问题。我还担心服务器在面临同时下载请求时可能会失败。关于如何做到这一点的任何想法?Netty是一个选择吗?关于如何将Netty集成到现有的基于Jersey的Web服务中的任何指示?是否有其他框架可以帮助实现这一目标?我确实必须将java用于W

java - 通过 RESTeasy 上的 NameBinding 将过滤器与特定方法匹配

我正在尝试通过遵循RESTeasydocumentation的内容来指定仅与我的一些API调用相关联的预匹配过滤器建议。这是我的代码的样子:名称绑定(bind):@NameBindingpublic@interfaceValidateFoo{}资源:@Path("/foo/bar")@Produces(MediaType.APPLICATION_JSON)publicclassFooBar{@GET@ValidateFoopublicObjectdoStuff(){//dostuff}@POSTpublicObjectdoAnotherStuff(){//doanotherstuff}

java - Jersey REST 客户端 - 将自定义 MediaType 视为 MediaType.APPLICATION_JSON

我正在使用Jersey启用JacksonFeature编写REST客户端,用于强制我指定其自定义命名内容类型的Web服务,即使它只是常规JSON。换句话说,当我这样做时:Requestrequest=buildMySampleRequestPojo();Responseresponse=requestBuilder.post(Entity.entity(request,MediaType.APPLICATION_JSON));服务提示我使用了无效的内容类型。我可以通过指定他们自定义命名的媒体类型来代替MediaType.APPLICATION_JSON常量来解决这个问题:Respons

java - 商业产品组件的安全 HTTP 通信

假设我想发布一个商业产品,它有两个组件,用Java编写,使用RESTfulAPI在本地网络上相互通信。它可以是一个音乐管理器、一个联系人数据库、一本食谱——重要的是这是一个合理且极有可能的场景。请注意,我说的是两个组件通过本地网络相互通信---而不是与我的服务器通信。那么如何确保通信安全?我知道如果我为世界设置一个HTTP服务器,我就可以(甚至便宜地)购买SSL证书。我已经做到了。但我不能告诉用户去购买证书---他们不知道我在说什么,也永远不知道如何安装它。那我该怎么办?向每个人发送我自己的自签名证书并做一件非常糟糕的事情,比如disablecertificatevalidationi

java - 如何使用java spark下载文件?

我想为文件下载编写简单的restapi。我找不到关于它的文档,因为我知道我需要为响应设置mimetype='application/zip',但不清楚如何返回流。http://sparkjava.com/更新:此处解决示例代码:publicstaticvoidmain(String[]args){//setPort(8080);get("/hello",(request,responce)->getFile(request,responce));}privatestaticObjectgetFile(Requestrequest,Responseresponce){Filefile=n