问题描述
我在JAX-RS请求中收到404,但是用尽了所有的技巧。
定义服务的简化代码:
package mypackage;
@Path("/")
public class SavedQueriesService {
...
@POST
@Path("saved_queries")
@Consumes(MediaType.APPLICATION_JSON)
@Produces({ MediaType.APPLICATION_JSON + AppConstants.COMMA + MediaType.CHARSET_ParaMETER + AppConstants.UTF_8 })
public Response saveNewSavedQuery(@Context HttpServletRequest httpServletRequest,SavedQueryRequest savedQueryRequest,@QueryParam("saved_query_context_name") String savedQueryContextName,@QueryParam("saved_query_context_id") Integer savedQueryContextId) {
...
}
}
@ApplicationPath("/report")
class SavedQueriesServiceConfig extends ResourceConfig {
public SavedQueriesServiceConfig() {
register(JacksonFeatures.class);
register(CORSResponseFilter.class);
register(JsonParseExceptionMapper.class);
packages("mypackage");
}
}
URL请求:
URL request:
POST localhost:8090/ROOT/report/saved_queries
Accept-Encoding: application/json
Content-Type: application/json
因此,我确保指定了正确的mime类型(尽管我认为不正确的mime类型会生成415,而不是404),并且还确保了HTTP动词正确。
如果只有我可以让Tomcat在某个地方列出它真正知道的URI。可以从某个地方的MBean上获得它吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)