我已經創建了Dropwizard資源並將其映射到REST API。 現在我想從我的代碼中的其他點重新使用這個資源API作爲JAVA API。 我該怎麼辦?如何直接訪問Dropwizard資源,而不是通過REST登錄
這是資源類:
@Path("/providers_new")
public class ProviderResource {
private ProviderDAO dao;
public ProviderResource(ProviderDAO dao) {
this.dao = dao;
}
@GET
@Path("/get")
@Produces("application/json")
public List<Provider> getAll() {
return dao.getAllProviders();
}
}
請注意,ProviderResource與道初始化:
public class EntitiesService extends Service<EntitiesServiceConfiguration> {
public static void main(String[] args) throws Exception {
new EntitiesService().run(args);
}
@Override
public void initialize(Bootstrap<EntitiesServiceConfiguration> bootstrap) {
bootstrap.setName("entities");
...
}
@Override
public void run(EntitiesServiceConfiguration configuration,
Environment environment) throws ClassNotFoundException {
final DBIFactory factory = new DBIFactory();
final DBI jdbi = factory.build(environment, configuration.getDatabaseConfiguration(), "my_db");
final ProviderDAO dao = jdbi.onDemand(ProviderDAO.class);
environment.addResource(new ProviderResource(dao));
...
}
}
現在ProviderResource是在空中,我想從我的代碼中使用它。例如:
ArrayList<Provider> providers = iDontKnowHowToGetProviderResource.getAll();
你說什麼?
您的回答非常好。環顧四周,詢問朋友後,我發現如何解決我的問題。你可以在我自己的回答中看到它。 – LiorK