繁体   English   中英

cxf宁静返回图像

[英]cxf restful return image

我是使用CXF和Spring制作RESTful Web服务的新手。 该项目处于Maven控制之下。

我有一个Android应用程序,该应用程序想连接到服务器,以通过RESTful网络服务检索书籍信息和封面图片。 RESTful服务是否可能(以及如何)返回图像?

项目浏览器

Project
--Java Resource
----src/main/java
------library.service
--------IBook.java
--------Book.java
----images
------Cover1.png
------Cover2.png
--JavaResources
--Deployed Resources
----webapp
------WEB-INF
----web-resources

iBook.java接口

@GET
@Path("/book/cover/{name}")
@Produces("image/png")
public Image getImage(@PathParam("name") String name);

Book.java展示

public Image getImage(String name){
    //How should I get cover png from 'images' folder and return it??
}

谢谢

西尔维斯特·庞

您可以通过Response.ok(params ...)。build()返回您选择的图像

将您的IBook.java更改为

    @GET
    @Path("/book/cover/{name}")
    @Produces("image/*")
    public Response getImage(@PathParam("name") String name);

还有您的实现接口。

public Response getImage(String name){
    File file = new File(fileUrl);
    String mediaType = SomeContentTypeMapHere(file)
    return Response.ok(file,mediaType).build()
}

编辑

我们已经使用Response.ok(Object type, String mediaType).build()来构建并在调用我们的方法处理程序时返回Response。 第一个参数是一个对象。 认为这是当某人/某人在给定的url上发送请求时我们将要发送的东西,而mediaType基本上是我们要去的内容类型(例如,“ image / png,image / jpg等”)发送。

请记住将@Produces("image/*")与您在ok(Object entity, String mediaType方法@Produces("image/*")传递的内容类型进行ok(Object entity, String mediaType

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM