欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

axis2 rest 返回json

錢琪琛1年前8瀏覽0評論

Axis2是一個自Apache編寫的Java Web服務框架。Axis2支持RESTful架構的Web服務,并且能夠以JSON格式返回數據。在本文中,我們將通過一個簡單的示例來演示如何在Axis2中返回JSON。

首先,我們需要創建一個簡單的RESTful Web服務。以下是一個示例代碼:

import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.transport.http.SimpleHTTPServer;
import javax.xml.namespace.QName;
public class RestService {
public static void main(String[] args) throws Exception {
ConfigurationContext configurationContext = 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
AxisConfiguration axisConfiguration = configurationContext.getAxisConfiguration();
AxisService axisService = new AxisService(new QName("restService"));
axisService.addParameter("ServiceClass", RestService.class.getName());
axisConfiguration.addService(axisService);
SimpleHTTPServer server =
new SimpleHTTPServer(configurationContext, 8080);
server.start();
}
public String hello(String name) {
return "Hello " + name + "!";
}
}

在上面的示例代碼中,我們創建了一個名為restService的Axis2服務并運行在本地的8080端口。服務類是RestService,并且有一個簡單的hello方法,返回“Helloname!”這個字符串。當訪問http://localhost:8080/restService/hello/name時,將觸發hello方法并返回結果。

接下來,我們需要配置Axis2以返回JSON格式的數據。為此,我們需要在服務類中添加以下注釋:

import org.apache.axis2.databinding.utils.BeanUtil;
import org.apache.axis2.json.JSONStreamBuilder;
import org.apache.axis2.json.gson.GsonConduitJSONStreamWriter;
import javax.ws.rs.*;
import java.io.StringWriter;
@Path("hello")
public class RestService {
@GET
@Path("/{name}")
@Produces("application/json")
public String hello(@PathParam("name") String name) throws Exception {
String message = "Hello " + name + "!";
StringWriter stringWriter = new StringWriter();
GsonConduitJSONStreamWriter jsonStreamWriter = 
new GsonConduitJSONStreamWriter(stringWriter);
JSONStreamBuilder jsonStreamBuilder = new JSONStreamBuilder();
BeanUtil.serialize(jsonStreamBuilder, null, message);
jsonStreamWriter.write(jsonStreamBuilder.build());
jsonStreamWriter.flush();
return stringWriter.toString();
}
}

在上面的代碼中,我們使用注釋@Path和@Produces("application/json")來指定服務的路徑和返回類型。在hello方法中,我們使用GsonConduitJSONStreamWriter將Java對象轉換為JSON字符串。

最后,在瀏覽器中輸入http://localhost:8080/restService/hello/name,您將看到如下結果:

"Helloname!"

在這里,我們成功地返回了一個JSON格式的數據!