私はsparkjavaに新しく、全体的に好きです。しかし、新しいルート/エンドポイントはmainメソッドで定義する必要がありますか?重要なWebアプリケーションでは、これは非常に長いメインメソッドになります。または、複数のメインメソッドを用意する必要があります(したがって、複数のインスタンスにサーバーリソースを分割する必要があります)。sparkjava:ルートはメインメソッドでなければなりませんか?
これらの2つのsparkjavaのマニュアルページは、メインメソッドのルートを定義しています(http://sparkjava.com/documentation.html#routesおよびhttp://sparkjava.com/documentation.html#getting-started)。
私は見ていない別の方法がありますか?一遍のGoogle検索が私のより良い方法を示していません...ここで
=========
は、私はアンドリューからの回答に基づいた完全なソリューションです。
主な方法:
public static void main(String[] args) {
//Do I need to do something more with the Resource instance so that sparkjava notices it and/or reads the routes?
Resource resource= new Resource(new Service());
}
マイリソース:
import static spark.Spark.*;
class Resource{
private Service service;
Resource(Service service){
this.service = service;
setupEndpoints();
}
private void setupEndpoints() {
get("/user/:id", "application/json",(request, response)
-> service.find(request.params(":id")), new JsonTransformer());
get("/users", "application/json", (request, response)
-> service.findAll(), new JsonTransformer());
}
}
マイサービス:
私の意見では、mainメソッドの外にエンドポイントを追加するとsparkjavaのドキュメントページの一部である必要がありますpublic class Service {
public Object find(String id) {
return null;
}
public Object findAll() {
return null;
}
}
My JsonTransformer:
import spark.ResponseTransformer;
public class JsonTransformer implements ResponseTransformer {
@Override
public String render(Object model) throws Exception {
return null;
}
}
ありがとうございます - これが動作します! – thebiggestlebowski