第一次使用POST形式傳JSON字符串,怎么都調不到后台方法,只是因為注解沒加對……
CXF的WebService接口類
package com.zit.webservice.main; import javax.jws.WebService; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; @WebService @Path("/microRfidPassRecordCxf") public interface RfidPassRecordCxf { /** * 根據queryParam查詢參數查詢射頻識別記錄信息,請求參數自動轉化為JSON串描述 * @param queryParam */ @POST @Consumes(MediaType.APPLICATION_JSON)//輸入JSON
@Produces(MediaType.APPLICATION_JSON)//輸出JSON
@Path("/queryRfidRecordByQueryParam") @ResponseBody String queryRfidRecordService(@RequestBody String queryParam); }
傳入的JSON是String字符串,放在body傳進來,所以入參添加@RequestBody 注解,
返回JSON串添加@ResponseBody 注解
soapUI測試
在soapUI界面new rest project
1、修改為post形式
2、填寫發布的WebService地址和要調用的方法路徑
3、填寫要傳進來的JSON串
4、查看返回的結果