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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 01_很好的网站:程序师

    01_很好的网站:程序师

    2021年9月1日
  • 优先队列「建议收藏」

    优先队列「建议收藏」优先队列比如现实生活中的排队,就符合这种先进先出的队列形式,但是像急诊医院排队,就不可能按照先到先治疗的规则,所以需要使用优先队列。实现优先队列其实都是基于下面这些实现的:可以看出来实现优先队列最

    2022年7月3日
  • 电脑键盘快捷键和组合键功能使用大全[通俗易懂]

    电脑键盘快捷键和组合键功能使用大全键盘快捷键使用大全所谓快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,从而达到提高操作速度的目的。下面为大家介绍一些常用快捷键的使用和功能。希望这些电脑快捷键大全可以给用户带来便捷的上网体验。善用快捷键,可以更快捷的使用电脑。(图为标准键盘示意图)下面来看看各种电脑快捷键大全和组合键的功能大全。一、最常用的电脑快捷键大全二、电脑快捷键大全…

    2022年4月14日
  • 重新认识KCP_重新认识一个人的说说

    重新认识KCP_重新认识一个人的说说什么是KCP"KCP"是一种网络传输协议(AFastandReliableARQProtocol),可以视它为TCP的代替品,但是它运行于用户空间,它不管底层的发送与

    2022年8月2日
  • 39、文件的加密

    39、文件的加密

    2021年6月18日
  • Java自定义异常(优雅的处理异常)

    Java自定义异常(优雅的处理异常)(本文较长,精华部分直接下拉)在复杂业务环境下,java自带的异常可能满足不了我们业务的需求,这个时候我们可以自定义异常来进行对业务异常的处理;首先,我们先对异常进行基本的解释:Throwable是所有Java程序中错误处理的父类,有两种子类:Error和Exception。Throwable是所有异常的根,java.lang.ThrowableError是错误,ja…

    2022年5月19日

发表回复

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

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