我在谷歌上搜索了一些关于Web服务的信息,它似乎是一个企业级应用程序。我发现RESTful设计在这方面是个很棒的想法。我发现Apache CXF看起来很酷,它支持RESTful设计和Java。对于初学者来说,使用Apache CXF编写应用程序是一个不错的选择吗?还是有其他框架推荐呢?
我在谷歌上搜索了一些关于Web服务的信息,它似乎是一个企业级应用程序。我发现RESTful设计在这方面是个很棒的想法。我发现Apache CXF看起来很酷,它支持RESTful设计和Java。对于初学者来说,使用Apache CXF编写应用程序是一个不错的选择吗?还是有其他框架推荐呢?
对于初学者来说,更简单的实现方式是使用 Spring 3.0 的 REST 支持。Spring MVC 3.0 提供了 REST 支持,相比 Apache CXF 来说要简单得多。
Restlet 是另一个用于 Java 的 RESTful web 框架:http://www.restlet.org/
# ====== Order service =========================
GET /orders Orders.list
GET /orders/{<[0-9]+>id} Orders.show
PUT /orders/{<[0-9]+>id} Order.saveUpdate
POST /orders Orders.saveNew
# ==============================================
以及相应的控制器方法:
public class Orders extends Controller {
public static void list() {
List<Order> orders = Order.all();
render(orders);
}
public static void show(long id) {
Order order = Order.findById(id);
notFoundIfNull(order);
render(order);
}
public static void saveUpdate(long id, Order update) {
Order order = Order.findById(id);
notFoundIfNull(order);
order.update(update);
show(id);
}
public static void saveNew(Order order) {
order.save();
show(order.getId());
}
}
有一些实用程序可以使您与其他Web服务进行交互:
String url = "https://ajax.googleapis.com/ajax/services/search/web";
Map<String, Object> params = new HashMap<String, Object>();
params.put("v", "1.0");
params.put("q", searchStr);
params.put("key", Play.configuration.get("app.google.key"));
params.put("userip", myIpAddr);
HttpResponse resp = WS.url(url).params(params).get();
return resp.getString();