[英]XMLRootElement failing for DELETE in JAVA Jersey RESTful
好的,所以我正在使用Jersey使用Java構建RESTful服務。
我已經實現了POST,它工作得非常好,它在數據庫的Category表中創建了新行。 現在,當我嘗試執行DELETE時,我將其傳遞給JSON的同一行,但它返回"400: Bad Request - the request cannot be fulfilled due to bad syntax"
。
我很困惑,因為從該特定類別上執行GET時得到的結果中復制並粘貼了JSON。
以下是相關代碼:
@Path("/categories/")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class CategoryResource {
@POST
public Response addCategory(Category category, @Context UriInfo uriInfo)
{
JSONArray json_array = category_service.addCategory(category);
URI uri = uriInfo.getAbsolutePathBuilder().path(category.getCategory_name()).build();
return Response.created(uri)
.status(Status.CREATED)
.entity(json_array.toString())
.build();
}
@DELETE
public Response deleteCategory(Category category)
{
System.out.println("Category = " + category.toString());
category_service.deleteCategory(category);
return Response.ok().build();
}
system.out.println()永遠不會執行,因為它似乎無法對類別進行編碼。 這里是Category類,其中充滿了常用的getter和setter:
@XmlRootElement
public class Category {
private int category_id;
private String category_name;
private boolean child;
private int parent_id;
private boolean category_state;
private String category_reason;
public Category() {
}
原始中傳遞的JSON如下所示:
{
"category_id": 1,
"category_name": "tennis",
"child": true,
"parent_id": 4,
"category_state": true,
"category_reason": "I Like Tennis"
}
請注意,這已從GET的結果中復制並粘貼。
因此,正如peeskillet的評論中明確指出的那樣,使用DELETE不會給任何身體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.