2017-12-13 8 views
-2

私は@deleteを使用していますが、私は文字列がnullとして渡しています。事前にこのおかげで私を助けてください!安心できるWebサービスの@DELETE

@Path("/database") 

    public class Controller { 

    DataResource datar = new DataResource(); 

    @DELETE 

    @Path("/delemp/{id}") 

    @Produces(MediaType.APPLICATION_JSON) 

    public Response delete(@PathVariable("id") String id) { 

      System.out.println("delete"+ id); 

     String status=""; 

     status = datar.delete(Integer.parseInt(id)); 

     return Response.ok(status).header("Access-Control-Allow-Origin","*").entity("Emp is deleted").build(); 
    } 
} 

//実装

public String delete(int id) { 

    System.out.println(sql); 
    int result = 0; 
    try { 
     con = db.get_Connection(); 
     sql =" delete from emp99 where id =?" ; 
     preparedStatement = con.prepareStatement(sql); 
     preparedStatement.setInt(1,id); 
     result = preparedStatement.executeUpdate(); 
     preparedStatement.close(); 
     con.close(); 
    } catch (SQLException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    if(result > 0) 
     return "Success"; 
     else 
      return "Failed"; 
} 

出力:ProtocolHandler [ "AJP-バイオ8008"] 2017年12月13日の開始:

それがnullとして

INFOを取っています3:18:48 PM org.apache.catalina.startup.Catalina start INFO:13391 msのサーバ起動

+0

タイトルに質問をする...問題を説明する場合は説明を使用する...コードを置くだけではない... – F0XS

+1

なぜ実際に作成した編集を元に戻すまだ理解できない質問は読める?何が問題なのですか?それをどのように解決しようとしましたか? – span

答えて

0

コードの大部分の注釈に基づいて、おそらくJerseyというJAX-RS実装を使用していることは明らかです。

JAX-RSには@PathVariable("id")がありません。それは@PathParam("id")ですので、それを使用してください。

+0

@PathParamも使ってみましたが、idをnullにしています – sai

関連する問題