我有一个问题要问所有知道web服务如何工作的人。
目前我已经使用JSF实现了一个绞刑游戏。我的数据库有以下表:
- 玩家
- 游戏
- <
- 词/gh>
我有所有这些表的实体类。还有:
PlayerController, GameController, TurnController等和PlayerFacade, GameFacade等。
我当前的登录是在PlayerController和PlayerFacade。我现在需要做的是为登录创建一个webService,玩家注册和游戏。
我怎样才能做到这一点?
第一步是创建一个PlayerFacadeREST,不是吗?
我应该使用哪些bean/类来登录?
您可以使用rest式验证服务,如http://www.vogella.com/articles/REST/article.html或使用soap,如http://docs.oracle.com/javaee/5/tutorial/doc/bnbis.html
在学习了世界上所有的教程之后,我的解决方案是:
我已经从我的实体类Player创建了一个完整的ws…里面是这样的:
public Receiver login(@PathParam("name") String name, @PathParam("password") String password) {
Receiver r = new Receiver();
//TODO TRY/CATCH
Query createNamedQuery = getEntityManager().createNamedQuery("Player.findByNameAndPassword");
createNamedQuery.setParameter("name", name);
createNamedQuery.setParameter("password", password);
Player j = (Player) createNamedQuery.getSingleResult();
if(j == null){
r.setReturn(-1);
return r;
}
// DO ANYTHING WE WANT... I CREATE A NEW GAME IN MY CASE
Game g = new Game();
p.setIdPlayer(j);
getEntityManager().persist(g);
getEntityManager().flush();
r.setReturn(p.getIdGame());
return r;
}