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


相关推荐

  • 力扣算法题—073矩阵置零

    力扣算法题—073矩阵置零

    2021年7月4日
    74
  • 分布式锁-这一篇全了解(Redis实现分布式锁完美方案)[通俗易懂]

    前言在某些场景中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的。随着技术快速发展,数据规模增大,分布式系统越来越普及,一个应用往往会部署在多台机器上(多节点),在有些场景中,为了保证数据不重复,要求在同一时刻,同一任务只在一个节点上运行,即保证某一方法同一时刻只能被一个线程执行。在单机环境中,应用是在同一进程下的,只需要保证单进程多线程环境中的线程安全性,通过JAV…

    2022年4月12日
    36
  • mysql长轮询_ajax的轮询和长轮询

    mysql长轮询_ajax的轮询和长轮询概念:轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接。概念总是枯燥的,只有代码方能解心头之快前段代码:index.html:vargetting={url:’server.php’,dataType:’json’,success:function(res){console.log(res);}};//关键在这里,Ajax定时…

    2022年10月9日
    0
  • 单选框点击文字也能选中

    单选框点击文字也能选中标签为input元素定义标注(标记)。

    //方式一:Male//方式二:
    2022年5月29日
    31
  • latex缩进与对齐_latex 换行后缩进「建议收藏」

    latex缩进与对齐_latex 换行后缩进「建议收藏」且每个条目输入完毕之后不需要做任何的强迫换行记号,如:\\\\(换行符)或者\\par(分段符)Latex可以自动处理四重enumerate嵌套,编号规则为第一级自然数,第二级……那么,如何让空格在本行行尾自动换行?有两种方法可以实现:方法一:选中文字,然后点击格式——段落——缩进和间距,在常规栏中,选择对齐方式为“左对齐”……且每个条目输入完毕之后不需要…

    2022年5月15日
    353
  • shiro框架使用_shiro配置

    shiro框架使用_shiro配置一、什么是ShiroApacheShiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:认证-用户身份识别,常被称为用户“登录”;授权-访问控制;密码加密-保护或隐藏数据防止被偷窥;会话管理-每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。二

    2022年9月7日
    1

发表回复

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

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