gpt4 book ai didi

scala - 如何在 Scalatra 中定义子资源路由

转载 作者:行者123 更新时间:2023-12-04 05:03:42 26 4
gpt4 key购买 nike

我有 REST 资源,如 authorarticle .可以有多个 Author s 和每个 author可以拥有多个articles .我知道可以在一个 servlet 中模拟他们的 Scalatra 处理程序,例如

  • /author/:id/article
  • /author/:id/article/:id

  • 等等,但这样做我的 servlet 文件变大了。看起来 author下的所有内容需要在一个 servlet 内处理。

    我想将这些东西分成几个独立的 servlet,当它们一起注册时,这些 servlet 将构成整个资源地址。所以我想要 author一个 servlet 和 article 中的相关内容- 相关的事情在另一个。

    有没有办法在 Scalatra 中做到这一点?我发现了关于 Sinatra 的类似问题,但没有很好的答案 Sub routing in Sinatra

    最佳答案

    您应该能够根据自己的喜好设置 servlet 和路由。

    例如,您可以设置两个 servlet,如下所示:

    class AuthorsServlet extends WebStack {
    get("/authors") { }

    get("/authors/:id") { }
    }

    class ArticlesServlet extends WebStack {
    get("/authors/:authorId/articles") { }

    get("/authors/:authorId/articles/:id) { }

    }

    然后在 ScalatraBootstrap 中注册您的 servlet:
    override def init(context: ServletContext) {
    context.mount(new AuthorsServlet, "/*")
    context.mount(new ArticlesServlet, "/*")
    }

    关于scala - 如何在 Scalatra 中定义子资源路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15797779/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com