После того, как приложение полностью запущено, вы можете спросить ServerConfig
:
ResourceConfig instance;
ServerConfig scfg = instance.getConfiguration();
Set> classes = scfg.getClasses();
classes
содержит все кэшированные классы конечных точек.
Из API docs для javax.ws.rs.core.Configuration
:
Получите неизменяемый набор зарегистрированных компонентов JAX-RS (таких как поставщик или объект), которые должны быть созданы, введены и использованы в рамках настраиваемый экземпляр.
blockquote>Однако вы не можете сделать это в коде init вашего приложения, классы могут еще не полностью загрузиться.
С помощью классов вы можете сканировать их для ресурсов:
public Map
> scan(Class baseClass) { Builder builder = Resource.builder(baseClass); if (null == builder) return null; Resource resource = builder.build(); String uriPrefix = ""; Map > info = new TreeMap<>(); return process(uriPrefix, resource, info); } private Map > process(String uriPrefix, Resource resource, Map > info) { String pathPrefix = uriPrefix; List resources = new ArrayList<>(); resources.addAll(resource.getChildResources()); if (resource.getPath() != null) { pathPrefix = pathPrefix + resource.getPath(); } for (ResourceMethod method : resource.getAllMethods()) { if (method.getType().equals(ResourceMethod.JaxrsType.SUB_RESOURCE_LOCATOR)) { resources.add( Resource.from( resource.getResourceLocator() .getInvocable() .getDefinitionMethod() .getReturnType() ) ); } else { List paths = info.get(pathPrefix); if (null == paths) { paths = new ArrayList<>(); info.put(pathPrefix, paths); } InfoLine line = new InfoLine(); line.pathPrefix = pathPrefix; line.httpMethod = method.getHttpMethod(); paths.add(line); System.out.println(method.getHttpMethod() + "\t" + pathPrefix); } } for (Resource childResource : resources) { process(pathPrefix, childResource, info); } return info; } private class InfoLine { public String pathPrefix; public String httpMethod; }
У Lutz Roeder (известности Отражателя) есть редактор HTML WYSIWYG в.NET на его сайте здесь: http://www.lutzroeder.com/dotnet/. Проверьте загрузку, названную "устройством записи". Я не использовал его сам, но это была первая вещь, которая появилась в мой ум.
В то время как это прилагает немного усилий, можно отключить почти всю 'дополнительную' функциональность созданного в управлении WebBrowser.
Если созданный в веб-браузере обеспечивает всю функциональность, Вам нужно почему взгляд в другом месте?
J. Полностью управляемый модуль рендеринга HTML Menendez Poo не является полным, но на сегодняшний день это лучшее, что я нашел.
Мне все еще нужно попробовать это всесторонне, но выглядит намного более многообещающим, чем другая альтернатива:
Предполагается, что вам на самом деле не нужны возможности редактирования Писателя Лутца Родера .