2017-02-14 28 views
0

我正在用Java創建Webservice的開始。 我想發佈一個XML請求到一個Restful Webservice,並且響應應該是一個修改後的XML。所以實際上只是請求的根元素應該被改變,它應該被添加另一個元素。如何修改Java中POST消息的請求?

請求:

<Request> 
    <name>name</name> 
</Request> 

響應:

<Response> 
    <name>name</name> 
    <status>created</status> 
</Response> 

目前我只寄回申請。 哪個是修改請求的最好/最簡單的方法?我可以用JAXB做到嗎?

public class Resource { 
    @POST 
    @Produces 
    @Consumes 
    public Request request(Request r) { 
     return r; 
    } 
} 

回答

0

看來你是用Jersey來暴露其餘的api。正如RedFive提到的那樣,在Internet上使用jersey(jax-rs實現)構建rest api的例子很多。在學習球衣的時候我做了一個小型的POC。你可以找到一個示例POST API實現here。我傳遞請求bean(作爲Person類對象)。請求json/xml被解組到Person對象。代替返回對象請求類型,您必須返回響應對象。希望這個例子可以幫助你學習球衣。

@POST 
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
public Response makeRequest(Request req) { 
    Response res = new Response(); 
    res.setName(req.getName()); 
    return Response.entity(res).status(Response.Status.CREATED).build(); 
} 

有一件事我想指出,你可能不會在響應正文中返回狀態。您返回201(CREATED)http狀態代碼,它類似於同一事物。