Apache CXF 是一個開源的 Web 服務(wù)框架,可以用于開發(fā) RESTful 服務(wù)。其中一個重要的特性就是支持返回 JSON 格式的響應(yīng)。下面我們來介紹如何在 CXF 中返回 JSON 字符串。
首先,我們需要在 pom.xml 文件中添加以下依賴:
<dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-rs-service-description</artifactId><version>3.4.4</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-rs-json-basic</artifactId><version>3.4.4</version></dependency>
這里我們使用的是 CXF 的 JSON 基礎(chǔ)依賴。
接下來,我們需要在代碼中啟用 JSON 支持。可以在 JAX-RS 實現(xiàn)類上添加 @Produces 注解,指定返回的媒體類型為 application/json。示例如下:
import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("/example") public class ExampleResource { @GET @Path("/hello") @Produces(MediaType.APPLICATION_JSON) public String hello() { return "{ \"message\": \"Hello, world!\" }"; } }
最后,在 CXF 的配置文件中,需要啟用 JSON 支持。在 beans 標簽中添加以下內(nèi)容:
<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider"><property name="marshalEmptyCollections" value="true"/></bean>
這里我們開啟了 JSONProvider 的空集合序列化,允許在返回空集合時,序列化為空數(shù)組 []。當(dāng)然,也可以根據(jù)具體業(yè)務(wù)需要,調(diào)整其它配置參數(shù)。
以上就是在 CXF 中返回 JSON 字符串的簡單介紹。如果有需要,可以根據(jù)具體業(yè)務(wù)需求進行進一步調(diào)整和優(yōu)化。