2017-01-30 109 views
0

這裏是我的restful webservice,它有多個聲明的方法。 當我聲明兩種方法,即GET和POST時,它會拋出servlet.init()異常。 這裏是異常的根本原因:Restful web服務拋出servlet.init()異常

com.sun.jersey.api.container.ContainerException:在類rest.DatabaseOperations發現致命的問題。查看日誌瞭解更多詳情。

但是,當我聲明只有post方法它完美的作品。

@Path("/databaseOperation") 
public class DatabaseOperations { 


@Path("/select") 
@GET 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_JSON) 
public String select(String data) { 
    } catch (Exception exception) { 
     exception.printStackTrace(); 
    } 
} 

@Path("/insert") 
@POST 
@Consumes(MediaType.APPLICATION_JSON) 
public void insert(String feed) { 
    } catch (Exception exception) { 
    } 
} 
} 
+0

你的'try {}'塊在哪裏? –

+0

嘗試塊在那裏,我忘了把它放在這裏。 –

回答

0

get方法不包含有效載荷,因此此註釋是不正確

@Consumes(MediaType.APPLICATION_JSON) 

你可能需要類似的東西

@Path("/select") 
@GET 
@Produces(MediaType.APPLICATION_JSON) 
public String select(@QueryParam("data")String data) { 

注:我認爲缺少try是排字錯誤

+0

但我必須通過網頁上的angularJS發送數據。那麼我怎麼會在這裏呢? –

+0

GET請求使用查詢參數在URL yourserver.com/select?data=xxx中發送數據。如果您需要將JSON發送到您的服務器,請使用「POST」請求。你也許需要在服務器端解析JSON。使用bean更改'String'參數。請參閱http://stackoverflow.com/questions/7693669/how-to-post-a-json-object-to-a-jax-rs-service – pedrofb

相關問題