为什么在@POST中将查询参数处理成@FormParam参数?

时间:2016-09-28 19:49:41

标签: java rest jax-rs cxf

我将@POST方法参数注释为@FormParam,希望它只需要以HTTP格式提交,而不是作为查询字符串参数提交:

@POST
@Path("domain/registerEntity")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response registerEntity(@FormParam("param1") String param1,
        @FormParam("param2") String param2) throws UnsupportedEncodingException {

    ...
}

但是,我可以发布一个网址 * / domain / registerEntity?param1 = X& param2 = Y ,该方法仍会将查询参数读入变量 param1 param2 即使没有发送任何表单。我的jax-rs实施是Apache CXF

如何确保我的POST忽略所有查询参数,并且只期望它们作为表单参数进入?

我在Chrome PosterHttpClient中对此进行了测试,并且它在两个客户端都以相同的方式响应。

0 个答案:

没有答案