我正在尝试从带有球衣的表单中获取一些数据,尽管这将是一项容易完成的任务,但是当我尝试发布某些内容时出现错误。
Caused by: java.lang.IllegalStateException: The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded
at org.glassfish.jersey.server.internal.inject.FormParamValueFactoryProvider$FormParamValueFactory.ensureValidRequest(FormParamValueFactoryProvider.java:126)
at org.glassfish.jersey.server.internal.inject.FormParamValueFactoryProvider$FormParamValueFactory.getForm(FormParamValueFactoryProvider.java:111)
at org.glassfish.jersey.server.internal.inject.FormParamValueFactoryProvider$FormParamValueFactory.get(FormParamValueFactoryProvider.java:94)
at org.glassfish.jersey.server.internal.inject.AbstractHttpContextValueFactory.provide(AbstractHttpContextValueFactory.java:65)
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getParameterValues(ParameterValueHelper.java:80)
... 36 more
我认为这是堆栈跟踪的相关部分。现在对于我正在使用的代码:
@POST
@Path("/delete")
@Produces("application/json")
public String delete(@FormParam("id")String id){
我正在尝试使用这样的测试html页面进行发布:
<form action="<path to the server>/delete" method="post">
primary_id: <input type="text" name="primary_id" /><br />
<input type="submit" value="Submit" />
</form>
我一直在努力让它发挥作用,但没有机会。我尝试使用 multipart-form-data 添加 @Consumes() 注释,但不能真正使其工作。我希望有人能帮我一把。