当前位置: 首页 > 知识库问答 >
问题:

所有API路由的语言和国家

孙玺
2023-03-14

我在“config/routes/modul.yaml”(Symfony 4)下为一些路由进行了辩护。我需要每一条Rest路线和语言。

# Modul route definition
sym_modul1:
    path: /{country}/{language}/modul/test1
    controller: App\Controller\ModulController::test1
    requirements:
        language: en|fr|de|es|cs|it
        country: GB|FR|DE|ES|CS|IT

sym_modul2:
    path: /{country}/{language}/modul/test2
    controller: App\Controller\ModulController::test2
    requirements:
        language: en|fr|de|es|cs|it
        country: GB|FR|DE|ES|CS|IT

sym_modul2:
    path: /{country}/{language}/modul/test3
    controller: App\Controller\ModulController::test3
    requirements:
        language: en|fr|de|es|cs|it
        country: GB|FR|DE|ES|CS|IT

到目前为止还不错。但是我不喜欢在每个文件和每个路由中添加一个新的国家或语言的想法(稍后当有许多路由时)。

我在symfony演示中看到,可以为路由定义{u locale}通配符gobal。在“config/routes.yaml”中,它如下所示

homepage:
    path: /{_locale}
    controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController::templateAction
    requirements:
        _locale: '%app_locales%'
    defaults:
        template: default/homepage.html.twig
        _locale: '%locale%'

但是我认为这只适用于{u locale},因为{u locale是在内部用户对象中设置的。在Symfony有没有更好的方法?

共有1个答案

韶镜
2023-03-14

我想你可以做到:

your_app_routing:
  resource: 'modules.yml'
  prefix: /{country}/{language}
  requirements:
    language: en|fr|de|es|cs|it
    country: GB|FR|DE|ES|CS|IT

然后在模块中。yml

# Modul route definition
sym_modul1:
  path: /modul/test1
  controller: App\Controller\ModulController::test1

sym_modul2:
  path: /modul/test2
  controller: App\Controller\ModulController::test2

sym_modul2:
  path: /modul/test3
  controller: App\Controller\ModulController::test3
 类似资料:
  • 添加路由 请在每个应用下route.php添加路由,使用资源路由添加; demo 应用路由(api/demo/route.php): <?php use think\Route; Route::resource('demo/categories', 'demo/Categories'); Route::resource('demo/articles', 'demo/Articles');

  • 问题内容: 我正在为基于React的单页应用程序开发spring后端,在其中我使用React-Router进行客户端路由。 在index.html页面旁边,后端在路径上提供数据。 为了在我的应用程序的根路径上提供index.html,我添加了一个资源处理程序 我想要的是在没有其他路由匹配时(例如,当我调用以外的路径时)提供index.html页。 在spring如何配置这种全包式路线? 问题答案:

  • 我使用的是Laravel框架5.3版。9,通过composer全新下载未添加任何内容(除了)。 我做了文件中建议的所有事情。创建了表,路由启动,一切正常。然而,我需要护照的API。 我的路线是这样的: 所有的路由都在那里,没有相关的路由,因为Passport不提供任何开箱即用的东西。 API本身旨在供可信客户端使用,它是为需要登录的移动应用程序而设计的。不过,所述登录将绕过几个步骤。 一旦用户访问

  • 问题内容: 我目前正在编写一个API,它将要求用户在每个请求的标头中传递身份验证令牌。现在我知道我可以创建一条综合路线了 但我想知道如何使它排除某些路线,例如或? 问题答案: 我不确定用户访问或时要发生什么,但是您可以为它们创建单独的路由;如果您在全部接收之前声明它们,则它们在处理传入请求时会首先遇到麻烦:

  • 本文向大家介绍react的路由和普通路由有什么区别?相关面试题,主要包含被问及react的路由和普通路由有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 如果不使用 React Router,组件之间的嵌套,会使URL变得复杂,为了让我们的 URL 解析变得更智能,我们需要编写很多代码来实现指定 URL 应该渲染哪一个嵌套的 UI 组件分支。 而React Router 知道如何为我们搭建嵌

  • 问题内容: 我一直在使用Web API在ASP.NET MVC内从事 AngularJS 项目。它非常有用,除非您尝试直接转到有角度的路由URL或刷新页面。我认为可以使用 MVC的路由引擎 来处理服务器配置,而不是胡闹。 当前的WebAPIConfig: 当前的RouteConfig: 当前的Global.asax.cs: 目标: / api / *继续转到WebAPI,/ partials /