我正在爲我的REST風格的Web服務創建客戶端。 在這種情況下,我的服務器不會總是返回期望的對象(例如,在給定參數上找不到任何東西,所以返回值爲NULL)。REST風格Web服務的返回值,將空值考慮到
@GET
@Path("/person/{name}")
@Produces("application/xml")
public Person getPerson(@PathParam("name") String name) {
return people.byName(name);
}
如果找不到給定的名稱,byName()方法將返回NULL。在解組給定的對象時,這會引發異常。只是導致if/else語句或以不同方式處理回報的最常用和最簡單的方法是什麼?
JAXBContext jcUnmarshaller = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = jcUnmarshaller.createUnmarshaller();
return (Person) unmarshaller.unmarshal(connection.getInputStream());
SOLUTION
getPerson() throws WebApplicationException {
throw new WebApplicationException(404);
}
「拋出WebApplicationException」 簽名是無用的,因爲WebApplicationException是一個RuntimeException。 – fabdouglas