CXF3.1是一個常用的Java Web Service框架,它可以幫助我們實現各種基于SOAP和REST的服務。本文主要介紹CXF3.1中如何接收JSON數據。
首先,在CXF3.1中接收JSON需要進行一些配置。我們需要在CXF的配置文件(如cxf.xml)中添加以下內容:
<bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider"> <property name="dropRootElement" value="true"/> <property name="supportUnwrapped" value="true"/> </bean>
其中,dropRootElement設置為true表示去掉根元素,supportUnwrapped為true表示支持非嵌套的結構。
接著,我們需要編寫具體的JAX-RS服務并使用@Consumes注解指定參數接收的數據類型為JSON。例如:
@POST @Path("/user") @Consumes(MediaType.APPLICATION_JSON) public Response createUser(User user) { //處理User對象 return Response.status(Response.Status.CREATED).build(); }
以上代碼定義了一個POST請求,接收路徑為/user的請求,參數類型為User對象,數據格式為JSON,處理請求后返回狀態碼201。
最后,我們可以使用工具如Postman來測試這個服務。在請求Body中選擇Raw,并選擇JSON格式,輸入以下請求體:
{ "name": "Tom", "age": 18 }
運行測試,如果服務端正常響應,即可說明JSON數據成功被CXF3.1接收。
上一篇cxf如何接收json
下一篇c++讀json 的方法