首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【愚公系列】2022年04月 Python教学课程 71-DRF框架之内置路由

文章目录 一、路由 1.SimpleRouter 1.1 基本使用 1.2 合并使用 1.3 额外操作的路由 2.DefaultRouter 一、路由 对于视图集ViewSet,我们除了可以自己手动指明请求方式与视图方法...[官方文档中也叫action,动作]之间的对应关系外,还可以使用Routers来帮助我们自动生成路由信息。...这些额外的操作将包含在生成的路由中。...将生成以下路由: 网址模式:^users/{pk}/set_password/$ 网址名称:'user-set-password' 默认情况下,URL 模式基于方法名称,URL 名称是方法名称和带连字符的方法名称的组合...你选择使用哪种风格很大程度上取决于你的偏好,尽管一些javascript框架可能会期望特定的路由风格。 路由器将匹配包含除斜杠和句点字符之外的任何字符的查找值。

94020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Asp.net mvc 知多少(二)

    路由是一种模式匹配系统,用来监视传入的请求并决定如何处理请求。在运行时,路由引擎使用路由表去匹配传入的请求的Url,根据路由表定义的Url格式与传入的Url格式进行匹配。...当路由引擎在路由表中找到一个与传入的Url请求匹配的路由记录,路由引擎会转发请求到对应的Controller、Action中。如果没有匹配的记录,则返回404。 大致处理流程如下图: ? Q16....下面是针对定义的路由的匹配结果: ? Note: 总是将特殊的路由定义在路由的最上边。因为路由系统是从上往下对传入的请求进行匹配,如果有一个匹配上,就不会继续往下寻找路由进行匹配。...当仅仅定义了特性路由而没有基于约定的路由时,若某个action未定义特性路由时,该action将不能被成功路由,会返回404。 Q18. 什么时候使用特性路由? Ans....路由与URL重写的区别是什么? Ans. 路由和Url重写都可以用来定义出SEO友好型的URLS。

    2.1K91

    【ASP.NET Core 基础知识】--路由和请求处理--Attribute路由

    同时,由于路由规则定义在控制器类和操作方法上,可以更好地与代码分离,提高代码的可读性和可维护性。...**性能更优:**属性路由在路由匹配时,可以利用编译时静态分析,提前解析路由模板,从而提高路由匹配的性能。...四、Attribute路由的高级使用 4.1 路由参数 在 ASP.NET Core 中,我们可以使用 Attribute 路由来定义路由参数。这可以让我们更精确地控制路由的生成。...比如,[Route("{controller=Home}/{action=Index}/{id=0}")],这里 controller 的默认值是 Home,action 的默认值是 Index,id...六、总结 Attribute路由是一种强大的路由机制,允许我们在 ASP.NET Core 中灵活地定义路由。通过使用各种属性和约束,我们可以精确控制 URL 的生成和解析。

    23700

    用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST

    注意在CountryController上面标注的[Route]属性标签,它的值是整个Controller下所有的Action的路由前缀,可以写成固定的地址,也可以写成"api/[controller]...,表示API的消费者发送到服务器的请求是错误的 401 - Unauthorized,表示没有权限 403 - Forbidden,表示用户验证成功,但是该用户仍然无法访问该资源 404 - Not found...前面提到过,针对父子、主从关系的资源,其子资源的路由地址应该是上面这样的,由于该Controller下所有的Action的路由前缀都是一样的,所以把这个路由放到了Controller级别作为所有Action...这个方法的第一个参数是一个路由名,使用这个路由名可以用来生成刚才提到的uri。在本例里,这个路由名应该对应的是GetCountry这个Action方法,所以为这个Action添加路由名: ?...我们要返回的是CreatedAtRoute方法, 由于里面要包含可以返回该集合资源的路由地址, 所以需要创建一个Action, 它的参数应该是POST方法返回数据的Id的集合.

    1.6K10

    路由通配符,小小的字符有大大的作用,你真的熟悉吗?

    其主要用途包括: 动态路由匹配: 路由通配符可以用来创建动态路由,匹配URL中的特定部分。例如,在Vue Router中,/users/:id 可以匹配任何用户ID。...模式匹配: 路由通配符可以与正则表达式结合使用(在支持的框架中),以匹配符合特定模式的URL。这提供了更复杂的路由匹配能力。 重定向: 在某些情况下,你可能需要根据URL的特定部分进行重定向。...路由守卫: 在某些框架中,路由通配符可以与路由守卫结合使用,根据URL的特定部分来执行权限检查或其他逻辑。...它表示前面的字符是可选的。 // 这个路由会匹配 /users 和 /users?...例如,在Sails.js中,可以这样使用: // 这个路由会匹配 /user/edit/123 或 /user/view/123 { path: '/user/{action}/{id}', action

    5500

    Spiral 官方超完整实战教程

    我在翻译这篇文档的时候,也是操作一步,翻译一步,中间发现官方文档的错误或者有遗漏的步骤时,都先提交 PR 修复了英文文档。...可以把路由指向控制器、控制器方法、控制器组;可以指定默认的匹配参数…… 作为实例,我们先创建一个简单的路由,把所有 URL 都指向 App\Controller\HomeController: namespace...有关路由配置的更多信息,请参阅路由文档。 注解式路由 Spiral 框架默认没有提供开箱即用的注解式路由配置。但是可以通过已有的组件进行简单地配置来实现它。...在接下来的示例中,为了简单起见,我们就一直使用注解路由来演示了。 如果你在调试过程中觉得日志不够详细,可以在 App 中禁用 ErrorHandleRootLoader 来查看完整的错误日志。...然后通过 Spiral\DataGrid\GridFactory 把引导程序与方法连接起来: /** * @Route(action="/api/post", verbs={"GET"}) * @param

    2.9K30

    基于Springboot+jpa+thymeleaf+rabbit+SpringBoot mail 的简单项目

    这里使用Direct交换器 在消息消费者那一方,需要定义交换器,消息队列,路由键 他们首先会根据交换器进行粗劣匹配,然后会根据路由键匹配对应的消息队列, 消息消费者则会一直监听消息队列是否有他的消息...并进行简单的表单校验 @NotBlank,@Email,@Length是表单校验注解,其他是Hibernate正向工程注解 设置生成后的表名,字段名,主键非空,自增… package ah.szxy.pojo...-- th:errors 会获取响应的数据 .有,会将数据取出,没有会报异常 --> action="@{/save}" method="post"> 用户姓名:路由键匹配相关消息 spring: application: name: msg-sys rabbitmq: host: 192.168.179.136...,根据交换器+队列+路由键匹配相关消息 spring: application: name: email-sys rabbitmq: host: 192.168.179.136

    1.1K20

    React路由

    前端路由的功能:让用户从一个视图(页面)导航到另一个视图(页面) 前端路由是一套映射规则,在React中,是 URL路径 与 组件 的对应关系 使用React路由简单来说,就是配置 路径和组件(配对)...render 如果 path 没有匹配上,那么会 render null 如果没有指定 path,那么一定会被渲染 exact 的说明, exact 表示精确匹配某个路径 一般来说,如果路径配置了.../, 都需要配置 exact 属性 Switch与404 通常,我们会把Route包裹在一个Switch组件中 在Switch组件中,不管有多少个路由规则匹配到了,都只会渲染第一个匹配的组件...this.props.history.push('/home') } render() {...省略其他代码} } 动态路由与路由参数获取 可以使用:id的方式来配置动态的路由参数 //...可以匹配 /users/1 /users/2 /users/xxx users/:id" component={Users} /> 在组件中,通过props可以接收到路由的参数

    2K20

    使用ASP.NET Core 3.x 构建 RESTful API - 3.1 资源命名

    要体现资源的结构关系 假设如果后端API系统里面有若干种资源,而用户这个资源与其它的资源并没有直接的关系,这样的话获取用户资源的uri应该是 api/users。...而不是 api/products/users,也不是api/catalogs/products/users,因为user和product或者catalog没有直接的关系。...需求:“我想获取所有的用户信息,并要求结果是按年龄从小到大进行排列的”。 常见错误的做法:api/users/orderby/age。...也就是Action方法传入的model含有验证错误的时候,自动触发HTTP 400响应。这部分的详细介绍请点击:官方文档。 推断参数的绑定源。...这是因为GetCompanies这个Action方法并没有使用属性路由(Attribute Routing)。关于路由这部分,之后再介绍

    99810

    Rails路由

    controller#action形式,如果是表示动作的符号,则还需要添加controller选项: get 'profile', to: :show, controller: 'users' 控制命名空间和路由...非资源式路由 和资源路由自动生成一系列路由不同,这时需要分别声明各个路由,非资源路由可以把任意URL地址映射到控制器动作的路由。...路由命名可以覆盖资源路由定义的路由辅助方法: get ':username', to: 'users#show', as: :user HTTP方法约束 通过使用 match 方法和 :via 选项,.../[A-Z]\d{5}/ :contraints 选项的值可以是正则表达式,但不能使用 ^ 符号,比如下面就是错误的: get '/:id', to: 'articles#show', constraints...:only 选项用于指定想生成的路由: resources :photos, only: [:index, :show] :except 选项用于指定不想生成的路由: resources :photos

    4.5K20
    领券