生成rest api提供的URL列表

时间:2015-01-28 22:41:50

标签: java rest url automation

我有一个休息api,我想管理我的rest api提供的URL列表。我宁愿不手动这样做。有没有人知道通过某种方式扫描其余api以编程方式生成URL列表的方​​法?我一直在研究这个问题并且没有提出任何问题。

1 个答案:

答案 0 :(得分:0)

我看到两种解决方案:

  • 静态的。我的意思是实现一个小型Java应用程序,它扫描REST应用程序的类以检测带有注释@Controller的应用程序。然后,您可以内省该类以获取有关提供的端点的提示。请参阅以下控制器示例:

    @RestController
    public class GreetingController {
        @RequestMapping("/greeting")
        public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
            return new Greeting(counter.incrementAndGet(),
                        String.format(template, name));
        }
    }
    

    注释@RequestMapping为您提供资源路径(路径变量包含在内部,如果有的话),@RequestParam一个参数。

    基于此,我们可以生成一些Swagger或RAML内容(或其他内容)。

    有关信息,Spring提供了一种方便的方法来扫描类路径,以轻松获取具有特定注释的所有类。有关详细信息,请参阅此答案:Scanning Java annotations at runtime

  • 另一个可能是在执行期间。我不知道Spring是否拥有REST路由等等,就像Restlet框架那样。请参阅此链接https://restlet.com/technical-resources/restlet-framework/guide/2.3/extensions/apispark/introspector

希望它有所帮助。 亨利