请问有人建议使用更好的开源Java API来调用REST服务吗?还想知道Restlet API是否支持NTLM身份验证。
由于
答案 0 :(得分:7)
它是REST - 重点是你本身不需要API,只需要HttpURLConnection。您应该能够仅使用基本Java SDK与任何真正的RESTful服务进行交互。您可以使用Apache Commons HTTPClient获得更高级的功能 - 但这不是必需的。
答案 1 :(得分:4)
结帐Restlet。它有一个很好的客户端API。
使用示例:
Request request = new Request(Method.GET, "http://my/rest/api");
Client client = new Client(Protocol.HTTP);
Response response = client.handle(request);
//get response representation and process
答案 2 :(得分:1)
如果您只想调用REST服务并获得响应,可以试用REST Assured:
// Make a GET request to "/lotto"
String json = get("/lotto").asString()
// Parse the JSON response
List<String> winnderIds = with(json).get("lotto.winners.winnerId");
// Make a POST request to "/shopping"
String xml = post("/shopping").andReturn().body().asString()
// Parse the XML
Node category = with(xml).get("shopping.category[0]");
答案 3 :(得分:0)
我正在使用resteasy作为其余的框架,它工作得非常简单(重写和测试,与easymock相同)。 作为示例代码:
@Path("/webservice")
public class Web
{
@GET
@Path("{web}")
@ProduceMime("application/xml")
public String test(@QueryParam("param") String param, @PathParam("web") String web)
{
// code here
}
}
所以这个get会收到来自/ webservice / web?param = lalala的调用,并以application / xml格式返回一个字符串