ウィケット アプリケーションでログオン Web サービスを作成し、jQuery の $.ajax() 関数から呼び出す必要があります。私は wicketstuff-restannotations を見つけて、このコードを試しました:
public static class DestinationUrl implements Serializable
{
private String authorizedUrl;
public String getAuthorizedUrl()
{
return authorizedUrl;
}
public void setAuthorizedUrl(String authorizedUrl)
{
this.authorizedUrl = authorizedUrl;
}
}
public static class GsonLogonService extends GsonRestResource implements Serializable
{
private AuthenticatedWebSession session;
public AuthenticatedWebSession getSession()
{
return session;
}
public void setSession(AuthenticatedWebSession session)
{
this.session = session;
}
@MethodMapping(value = "/loginService", httpMethod = HttpMethod.POST)
public DestinationUrl logonService(@RequestBody String username, @RequestBody String password)
{
DestinationUrl result = new DestinationUrl();
if (session.signIn(username, password))
result.setAuthorizedUrl(RequestCycle.get().getRequest().getOriginalUrl().toString());
else
result.setAuthorizedUrl("/");
return result;
}
}
しかし、そのサービスを /logonService または /MyContext/logonService の下に表示するには、他に何をすればよいでしょうか? $.ajax() または $.get() でそれらのいずれかを呼び出すと、404 が発生します...