我目前正在开发一个AngularJS项目,我正在使用内容类型“application / x-www-form-urlencoded;”调用一些休息服务。
在服务器端,我在版本2.0中使用Jersey。这是我对maven的依赖。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.0</version>
</dependency>
在Chrome和IE7上工作正常。我的问题是Firefox在内容类型中添加了神秘的“charset = UTF-8”。
我做了一些测试,如果我使用POSTMAN并在内容类型中设置“application / x-www-form-urlencoded; charset = UTF-8”,则Jersey在所有FormParam参数中都为null
这是我在java中的方法的标题
@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("movements/")
public Response movements(
@FormParam("COMPTE_NO") String COMPTE_NO,
@FormParam("COMPTE_BIDULE") String COMPTE_BIDULE,
@FormParam("COMPTE_MACHIN") String COMPTE_MACHIN,
我试过这个标题
@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("movements/")
@Consumes({MediaType.APPLICATION_FORM_URLENCODED + ";charset=UTF-8",
MediaType.APPLICATION_FORM_URLENCODED + "; charset=UTF-8",
MediaType.APPLICATION_FORM_URLENCODED})
public Response movements(
@FormParam("COMPTE_NO") String COMPTE_NO,
@FormParam("COMPTE_BIDULE") String COMPTE_BIDULE,
@FormParam("COMPTE_MACHIN") String COMPTE_MACHIN,
我有完全相同的问题。你有好主意吗 ? 提前谢谢。
答案 0 :(得分:2)
这个问题是重复的。可以在Jersey and @FormParam not working when charset is specified in the Content-Type
上找到回复泽西岛票和过滤器有一个解决方法可以在票上找到