Jersey:解码String @PathParam,其中包含空格

时间:2017-11-03 10:54:07

标签: java jersey

public Response getCustomerByName(
@PathParam("customerName") String customerName)

问题
我将customerName传递为:堆栈溢出(URL编码为: stack%20overflow )。我想在我的java代码中接收解码后的字符串(堆栈溢出,没有%20)。

我尝试了什么
这完全没问题,但我觉得这不是更通用的做法。

URLDecoder.decode(customerName, "UTF-8");

需要更多通用解决方案 我想在其余的API中进行类似的更改,因此在每个API中使用URLDecoder是一种负担。有什么常见的做法我可以遵循在应用程序级别强制执行此解码吗? (收到请求时,@ PathParam已被解码)

1 个答案:

答案 0 :(得分:1)

应该是自动&#34;解码&#34;并且您不需要使用Dropzone.autoDiscover = false; var foto_upload= new Dropzone(".dropzone",{ url: "<?php echo base_url('dashboard/uploads_image') ?>", maxFilesize: 2, method:"post", acceptedFiles:"image/*", paramName:"userfile", dictInvalidFileType:"Type file ini tidak dizinkan", addRemoveLinks:true, sending: function (file, xhr, formData) { a.token=Math.random(); formData.append('token_foto', a.token); } });

进行显式解码

PathParam javadoc的javadoc所述:

  

除非使用编码注释禁用此值,否则将对URL进行解码。

我刚刚在下面进行了验证,它按照javadoc(在weblogic服务器中)

运行
URLDecoder.decode(customerName, "UTF-8");