我一直在努力让一个简单的REstful Web服务工作,最终让它与数据库(通过另一个Java类)交谈。
我开始很简单,看看我是否可以传递一些数据并得到回复。
网络服务的代码是:
package com.mystuff.wstest;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.Consumes;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Path("/generic")
public class GenericResource
{
@Context
private UriInfo context;
public GenericResource()
{
}
@GET
@Path("/data")
@Produces("application/xml")
public String getXml(@QueryParam("ctype") String cType, @QueryParam("cdata") String cData)
{
return ( "<ret><One>" + cType + "</One><Two>" + cData + "</Two></ret>" );
}
测试它的网址是:
http://localhost:8080/WebSvc1/webresources/generic/data?ctype=a\&cdata=b
但是浏览器中返回的响应并不显示为XML,而只是显示&#34; ab&#34; - 即它将XML解释为HTML标签。
使用wget进行测试显示:
$ wget -S -q -O - http://localhost:8080/WebSvc1/webresources/generic/data?ctype=a\&cdata=b
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Sun, 10 Aug 2014 12:05:37 GMT
<ret><One>a</One><Two>b</Two></ret>
我错过了什么?