java jersey 参数_Java Jersey:接收表单参数作为字节数组

java jersey 参数_Java Jersey:接收表单参数作为字节数组我试过如下:@Path(“/someMethod”)@POST@Produces(MediaType.TEXT_HTML)@Consumes(MediaType.APPLICATION_FORM_URLENCODED)publicStringsomeMethod(@FormParam(“someParam”)byte[]someParam){return””;}但得到这个错误:如果我改变…

大家好,又见面了,我是你们的朋友全栈君。

我试过如下:

@Path(“/someMethod”)

@POST

@Produces(MediaType.TEXT_HTML)

@Consumes(MediaType.APPLICATION_FORM_URLENCODED)

public String someMethod(@FormParam(“someParam”) byte[] someParam)

{

return “”;

}

但得到这个错误:如果我改变字节[]为String,一切正常

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:

SEVERE: Missing dependency for method public java.lang.String SomeClass.someMethod(byte[]) at parameter at index 0

SEVERE: Missing dependency for method public java.lang.String SomeClass.someMethod(byte[]) at parameter at index 0

SEVERE: Method, public java.lang.String SomeClass.someMethod(byte[]), annotated with POST of resource, class SomeClass, is not recognized as valid resource method.

我需要接收数据为byte []而不是String的原因是因为数据可能使用不同的字符集进行编码。它取决于提交数据的HTML文档,我需要在服务器端正确解码数据(编码字符集是在单独的参数中提交的)。

所以,如果我可以接收数据为byte [],它将解决我的问题。任何其他解决方案也是受欢迎的。

谢谢!

2011-06-08

Dima L.

+0

不会’MediaType.APPLICATION_FORM_URLENCODED’暗示它是%编码的,所以你可以只使用一个字符串?我在这里猜测,但如果它真的是原始字节,也许你应该添加@Consumes(MediaType.TEXT_PLAIN)或其他一些代表原始二进制数据的MIME类型。 –

2011-06-08 17:18:58

+0

是的,它是%编码的,没关系。我只是从HTML FORM发布数据。 是的,我可以使用一个字符串,但是会发生的是,泽西不正确地创建包含特殊字符的字符串,因为泽西需要知道字符集,并且我在一个单独的参数中发布字符集。 这就是为什么我想要以byte []形式获取数据而不是以String形式获取数据,所以我可以使用正确的字符集正确地创建String。 –

2011-06-08 18:43:43

+0

好的,是的,我想我在第一次阅读时就误解了这个问题。也许你可以通过泽西岛的来源挖掘,并找到它实际上%解码并转换为一个字符串…我不知道泽西岛是否在某个地方做出一些不正确的假设。另一种可能是将整个输入作为’byte []’来使用(只需放弃’@ FormParam’),然后自己解析它。 –

2011-06-08 18:57:01

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159320.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm如何创建flask项目_适合flask的前端框架

    pycharm如何创建flask项目_适合flask的前端框架在网上看了很多办法,大都是用用命令行来实现,而且对Windows用户很不友好。其实只要在settings中选择projectinterpreter,再在右边点击+,再搜索flask选择第一个进行install就可以了,pycharm还会帮你装上所需要的其他插件第一篇博客,大家觉得有用的话给个赞可好你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar…

    2022年8月29日
    2
  • HttpCanary下载_网页自我介绍模板

    HttpCanary下载_网页自我介绍模板前言首先,我们无论学习哪个框架,都要带着问题,带着思考去学习思考1:HttpRunner是什么?思考2:HttpRunner的设计模式是什么?思考3:为什么我们要学习HttpRunner?他的

    2022年7月30日
    7
  • Mybatis 注解开发 + 动态SQL

    Mybatis 注解开发 + 动态SQLHello 大家好我是橙子同学 今天分享注解 Mybatis 注解开发 动态 sql 目录每文一铺垫 今天有小插曲哦 注解开发添加 Insert 删除 Delete 查询 Select 修改 Update 实现结果集封装 Result 实现一对一结果集封装 one 实现多对多结果集封装 Many 动态 SQL 标签 set if 标签 if set

    2025年6月27日
    8
  • 图像超分辨之RDN(Residual Dense Network)

    图像超分辨之RDN(Residual Dense Network) 论文:ResidualDenseNetworkforImageSuper-Resolution Github:https://github.com/yulunzhang/RDNhttps://github.com/hengchuan/RDN-TensorFlow 整体结构: RDN(ResidualDenseNetwork)主要包含4个模块。…

    2022年6月18日
    29
  • 服务器安装配置lldp协议

    服务器安装配置lldp协议服务器安装配置lldp协议1.安装lldp:yuminstall–ylldpad2.启动lldpad服务:systemctlstartlldpad|开机启动:systemctlenablelldpad3.启动网卡脚本:#!/bin/bashforiinls/sys/class/net/|grep"em\|eth\|p";doecho“enabling…

    2022年6月2日
    45
  • latex如何输入正确的 双引号

    latex如何输入正确的 双引号

    2022年1月9日
    179

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号