您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Jersey +休眠RESTful Web服务上传和下载图像

使用Jersey +休眠RESTful Web服务上传和下载图像

那不是有效的JSON。将"profilePhoto"要发送的字母数字。这不是有效的类型。它可以是数字或字符串。如果它是字符串,则将其用"引号引起来。

将其设为有效字符串后,解串器将不知道如何将字符串映射到byte[]。您将需要创建一个自定义(反)序列化器。使用MOXy,您可以使用XmlAdapter一个例子会像

import javax.xml.bind.annotation.adapters.XmlAdapter;

import java.util.Base64;

public class Base64ByteArrayAdapter extends XmlAdapter {

@Override
public byte[] unmarshal(String base64) throws Exception {
    return Base64.getDecoder().decode(base64);
}

@Override
public String marshal(byte[] bytes) throws Exception {
    return Base64.getEncoder().encodeToString(bytes);
}

}

unmarshal会处理传入的base64字符串转换一个byte[],并且marshal将处理的转换byte[]到以base64字符串。

然后,您只需要使用适配器在Bean中注释属性即可

    @XmlJavaTypeAdapter(Base64ByteArrayAdapter.class)
public byte[] getProfilePhoto() {}
其他 2022/1/1 18:14:25 有636人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶