草庐IT

java - 创建 Rest Web 服务以接收图像

您将如何设计一个基于REST的Web服务来接收InputStream形式的图像文件?如果将InputStream发送到REST端点,该端点如何接收它以便创建图像文件? 最佳答案 在JAX-RS中可以接收InputStream。您只需放置不带注释的InputStream参数:@POSTpublicvoiduploadImage(InputStreamstream){//storeimage}请注意它适用于任何内容类型。虽然它会起作用,但我建议使用更“JAX-RS方式”:1创建将从InputStream创建图像类(例如java.awt.

java - OffsetDateTime 在 GET 方法中产生 "No injection source found for a parameter of type public javax.ws.rs.core.response"

我有以下GETREST方法:importjava.time.OffsetDateTime;importjavax.ws.rs.Consumes;importjavax.ws.rs.DELETE;importjavax.ws.rs.GET;importjavax.ws.rs.HeaderParam;importjavax.ws.rs.POST;importjavax.ws.rs.PUT;importjavax.ws.rs.Path;importjavax.ws.rs.PathParam;importjavax.ws.rs.Produces;importjavax.ws.rs.QueryP

java - 来自 Java servlet 的异步任务

我需要在调用RESTful网络服务端点时执行异步任务。实际上,要求端点使用POST操作执行大量工作。它应该立即向调用者返回200OK,生成一个线程并执行它的资源密集型任务。完成后,该线程将POST到调用方(另一个REST服务器)上的相应端点以指示成功(传递表示初始交易请求的token)。我应该了解哪些在servlet中执行异步操作的最佳实践方法? 最佳答案 Servlet3.0支持asynchronousoperations.Tomcat7.0已经稳定,因此您可以获取它并尝试新功能。如果你不需要持续输出数据,只是简单地启动一个后台进

java - DropWizard 认证领域

在DropWizard中,我可以像这样设置基本身份验证(在Application#runimpl中):BasicAuthProviderauthProvider=newBasicAuthProvider(authenticator,"SECRET_REALM");environment.jersey().register(authProvider);我想知道字符串realm("SECRET_REALM")的意义是什么?根据一般的安全概念,我将“领域”理解为存储用户和角色/权限的地方(数据库、目录、文件、keystore等)。领域在DropWizard中意味着什么,在BasicAuthP

java - 如何使用 JAX-RS NewCookie 删除服务器上的 cookie?

我想删除服务器上的cookie(通过将Expires设置为过去)。我如何使用javax.ws.rs.core.NewCookie执行此操作?我正在尝试这个,但它不起作用:returnResponse.ok().entity("helloworld!").cookie(newNewCookie("foo","","/",".example.com",1,"nocomment",0,//maxAgefalse)).build();此代码段生成此HTTPheader:Set-Cookie:foo=;Version=1;Comment="nocomment";Domain=.example.c

java - JAX-RS Jersey 客户端 : Reading the Response with status code

我使用此代码通过Jersey客户端调用JerseyJAX-RS服务。publicstaticvoidmain(String[]args){ClientConfigconfig=newDefaultClientConfig();Clientclient=Client.create(config);WebResourceservice=client.resource(getBaseURI());Stringmsg=service.path("rest").path("ExceptionDemo").path("user").queryParam("id","001").get(String

java - 通过代理 ID 或业务 ID 获取资源的 REST 方法

我们有一些实体既有唯一的业务ID(例如“我的唯一名称”),也有内部UUID(例如aa54-342-dffdf-55445-effab)。Whats是提供可以使用任一方法返回资源的RESTURI的好方法。方法1-有两个资源URL(丑陋!!!):/foo-by-id/my-unique-name/foo-by-uuid/aa54-342-dffdf-55445-effab方法2-始终使用查询参数(即使它返回单个项目......看起来不一样)/foo?id=my-unique-name/foo?uuid=aa54-342-dffdf-55445-effab方法3-让Web服务确定{id}是否

java - 使用 RolesAllowedDynamicFeature 和 Jersey 进行授权

我正在尝试使用JAX-RS过滤器对用户进行身份验证,目前为止似乎有效。这是我设置新SecurityContext的过滤器:@ProviderpublicclassAuthenticationFilterimplementsContainerRequestFilter{@Overridepublicvoidfilter(finalContainerRequestContextrequestContext)throwsIOException{requestContext.setSecurityContext(newSecurityContext(){@OverridepublicPrinc

java - JAX-RS/Jersey 资源路径是否支持继承?

假设我希望我的JAX-RS/Jersey应用公开以下URL:http://myapp.example.com/app/fizzhttp://myapp.example.com/app/buzzhttp://myapp.example.com/app/foohttp://myapp.example.com/app/bar假设我希望/app成为父基础资源,而/app/*成为“子”资源。以下是否会完成我正在寻找的URL策略(?):@Path('/app')@Produces(MediaType.APPLICATION_JSON)publicabstractclassAppResource{/

java - JAX-RS 非常适合实现 REST。你用什么在Java中调用REST服务?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion理想情况下,我正在寻找类似JAX-RS的东西(使用注释来描述我想要调用的服务),但允许调用使用其他技术(不是JAX-RS)实现的REST服务。有什么建议吗?