JAX-RS 405方法不允许

时间:2017-06-14 14:52:30

标签: java jax-rs

JAX-RS的GET功能完美运行。我现在正在研究我的POST方法,但这一直给我405错误。我的资源指向我的DAO。

我的代码中是否有错误?

资源

@POST
@Path("/insert")
public void insertIngredient(@QueryParam("Q1") int hoeveelheid, @QueryParam("Q2") String datum,@QueryParam("Q3") String ingredientnaam , @QueryParam("Q4") String gebruikersnaam) {
    IngredientService service = ServiceProvider.getIngredientService();
    service.insertIngredient(hoeveelheid, datum, ingredientnaam, gebruikersnaam);
}

DAO

public void insertIngredient(int hoeveelheid, String datum, String ingredientnaam, String gebruikersnaam) {
    try (Connection con = super.getConnection()) {
        Statement stmt = con.createStatement();
        ResultSet nextId = stmt.executeQuery("SELECT MAX(dagboek_id) FROM dagboek");
        int maxId = nextId.getInt("dagboek_id") + 1;

        stmt.executeQuery("insert into dagboek(dagboek_id, hoeveelheid, datum, fk_ingredientnaam, fk_gebruikersnaam) values('"+maxId+"','" + hoeveelheid + "','" + datum + "','" + ingredientnaam + "','" + gebruikersnaam + "')");

    } catch (SQLException sqle) {
        sqle.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:0)

不允许使用HTTP 405方法意味着您获得了正确的端点,但没有获得正确的http方法。它与您的端点实现无关。要检查的常见问题是:

  1. 您确定要将该请求作为POST吗?
  2. 您是否将服务器配置为允许POST到该特定端点?
  3. 你在某处有覆盖过滤器的方法吗?