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

在rest api url中使用self/current是否正确?

在 REST API URL 中使用 self/current 是不正确的。

在 RESTful 架构中,URL 是用来标识资源的,而不是用来表示状态或操作的。URL 应该是无状态的,即不包含当前状态信息。使用 self/current 这样的关键词在 URL 中是不符合 RESTful 设计原则的。

正确的做法是使用合适的资源标识符来表示资源的唯一性,并使用 HTTP 方法来表示对资源的操作。例如,使用 GET 方法获取资源,使用 POST 方法创建资源,使用 PUT 方法更新资源,使用 DELETE 方法删除资源。

以下是一个示例的 REST API URL 设计:

  • 获取用户列表:GET /users
  • 获取特定用户信息:GET /users/{id}
  • 创建用户:POST /users
  • 更新用户信息:PUT /users/{id}
  • 删除用户:DELETE /users/{id}

对于资源之间的关系,可以使用嵌套的 URL 来表示。例如,获取某个用户的订单列表可以使用以下 URL:

  • 获取用户订单列表:GET /users/{id}/orders

对于 REST API 的设计,需要考虑到资源的合理划分和命名,以及符合业务逻辑和语义的操作。同时,还需要注意安全性和性能等方面的考虑。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

flask 应用程序编程接口(API)最后一节

一个给定的API是否符合REST规范的话题往往是REST“纯粹主义者”之间激烈冲突的源头,REST“纯粹主义者”认为REST API必须以非常明确的方式遵循全部六个特征,而不像REST“实用主义者”那样...Fielding和其他REST纯粹主义者对评判一个API是否REST API有严格的规定,但软件行业实际使用引用REST是很常见的。...为了达到API的目的,目标服务器需要通过使用缓存控制来指示响应是否可以代理服务器传回客户端时进行缓存。...对于指向应用程序其他路由的三个链接,我使用url_for()生成URL(当前指向我app / api / users.py定义的占位符视图函数)。...就像注册新用户一样,我需要验证客户端提供的username和email正确性与其他用户发生了冲突,但在这种情况下,验证有点棘手。首先,这些插入在此请求是可选的,所以我需要检查对齐是否存在。

5K10

WordPress未经身份验证的远程代码执行CVE-2024-25600漏洞分析

该prepare_query_vars_from_settings方法始终类的构造函数调用Bricks\Query。这个类许多地方被使用和实例化。...还有一个代码元素可用于此漏洞利用,但在本文中,我们将重点关注第 5 行的代码路径。该方法可通过 admin-ajax.php 端点和 WordPress Rest API 调用。...()将检查当前用户是否有权访问 Bricks 构建器(os:这也不太行,因为低权限用户也可能有访问权限但是,如果通过 REST API 调用此方法,Ajax::verify_request()则不会调用...代码注释:REST API API->render_element_permissions_check() 检查权限)表示此检查是否 WP 的 REST API 的权限回调执行。...二、修复快速修复很复杂,因为eval的用户输入的功能被利用到后端的多个部分当然,快速修复的方法是向 REST API 端点添加正确的权限检查。但这仍然留下了危险的功能,并且很可能通过其他方式调用它。

68710

我用WordPress做了一款小而美的博客小程序

另外在开始开发之前,我服务端对WordPress REST API 进行了一些定制化的输出,这个很早就写了接下来几天我专门写个关于这个的文章吧这里就不细说了。...使用到WordPress 的REST API 就是 your-site.com/wp-json/wp/v2/posts?per_page={num}&page={num}。...index.js 文件里面核心是通过wx.request 接口访问上面的API URL 获取到文章数据并setData 供后续数据渲染: // https://devework.com/wordpress-rest-api-weixin-weapp.html...id=' + id; wx.navigateTo({ url: url }) } 文章内页(文章详情页面) 文章页使用到的REST API URL是your-site.com...使用上,按照WxParse 的文档,获取到文章数据后,经过html to wxml 的步骤后赋值到page data: // https://devework.com/wordpress-rest-api-weixin-weapp.html

72600

第 15 篇:接口的单元测试

梳理需要测试的接口 接下来我们就为博客的 API 接口来编写单元测试。对 API 接口来说,我们主要关心的就是:对特定的请求返回正确的响应。我们先来梳理一下需要测试的接口和功能点。...测试接口的一般步骤: 获得接口的 URL。 向接口发送请求。 检查响应的 HTTP 状态码、返回的数据等是否符合预期。...这里由于评论数据不正确(关联的 id 为 999 的 post 不存在),因此预期返回的状态码是 400,同时数据库不应该有创建的评论。...": 7}) self.assertEqual(response.status_code, status.HTTP_200_OK) # 如何检查返回的数据是否正确呢?...但是单元测试,可能没有这样的视图函数调用,因此 _context 的设置并不会自动进行,需要我们模拟视图函数调用时的行为,手动进行设置。

1.2K20

Django rest framework源码分析(1)----认证

源码到处都是基于CBV和面向对象的封装 (1)面向对象封装的两大特性 把同一类方法封装到类 将数据封装到对象 (2)CBV 基于反射实现根据请求方式不同,执行不同的方法 原理:url-->view...settings的app添加 INSTALLED_APPS = [ 'rest_framework', ] 2.2.url from django.contrib import admin from...如果用户名和密码正确的话  会生成token值,下次该用户再登录时,token的值就会更新  数据库可以看到token的值 ? 当用户名或密码错误时,抛出异常 ?..._not_authenticated() 返回值就是例子的: token_obj.user-->>request.user token_obj-->>request.auth #rest framework...': api_settings.reload() settingREST_FRAMEWORK’找  全局配置方法: API文件夹下面新建文件夹utils,再新建auth.py文件,

2.1K122

WordPress 网站基于REST API 开发“微信小程序”实战

原理篇 WordPress 与 REST API WordPress 4.4 版本后推出了 REST APIREST API 简单来说就是一种通过 HTTP 请求来获取、更新、删除数据的一种连接客户端与服务端的交互方式...('current page:' + self.data.page); this.fetchData({ page: self.data.page }); },   // 路由导航到文章内页 redictSingle...id=' + id; wx.navigateTo({ url: url }) } 文章内页(文章详情页面) 文章页使用到的REST API URL是your-site.com...使用上,按照WxParse 的文档,获取到文章数据后,经过html to wxml 的步骤后赋值到page data: // https://devework.com/wordpress-rest-api-weixin-weapp.html...服务端数据侧不好处理的话可以通过下面的util 处理: // https://devework.com/wordpress-rest-api-weixin-weapp.html // 补全URL 缺失的

3K60

python教程

简明了很多,并且目前的代码和我们使用Forms API很相似。我们也用有意义的状态码标识符。 views.py模块,有一个独立的snippet视图。...相似地,虽然我们可以响应对象带数据,但允许REST框架渲染响应成正确的内容类型。...然后,snippest/urls.py添加一个链接: url(r'^$', views.api_root), 然后,为高亮snippet添加一个url样式: url(r'^snippets/(?...视图集(ViewSets)和路由(Routers) REST框架包括对ViewSets的简短描述,这可以让开发者把精力集中构建状态和交互的API模型,而且它可以基于一般规范自动构建URL。...它保证URL规范存在你的API,让你写最少的代码,允许你把注意力集中在你的API提供的交互和表现上而不需要特定的URL配置。 这并不意味着这样做总是正确的。

5.1K10

《Learning Scrapy》(中文版)第9章 使用Pipelines

本章,我们通过实例学习编写pipelines,包括使用REST APIs、连接数据库、处理CPU密集型任务、与老技术结合。 我们本章中会使用集中新的数据库,列在下图的右边: ?...让我们先来学习REST APIs。 使用REST APIs REST是用来一套创建网络服务的技术集合。它的主要优点是,比起SOAP和专有web服务,REST更简单和轻量。...REST席卷软件行业并不奇怪。 Scrapy pipeline的功能可以用REST API来做。接下来,我们来学习它。...浏览器打开它,或使用curl取回以下URL的数据: $ curl "https://maps.googleapis.com/maps/api/geocode/json?...如何在Python压缩存储值或例外呢?因为Python是一种函数语言,根据是否有例外,我们self.records中保存小函数(lambdas),调用callback或errback。

1.4K20

Django Rest Framework

P[0-9]+)/$',views.SnippetDetail.as_view()), url(r'^api-auth/', include('rest_framework.urls',...P[0-9]+)/$',views.UserDetail.as_view()), url(r'^api-auth/', include('rest_framework.urls', namespace...1)api_view()使用方法 这个视图将使用默认渲染器、解析器、身份验证设置中指定的类等。...REST框架提供的通用视图允许快速构建API观点紧密地映射到数据库模型,如果通用视图不适合的需要API, 可以使用常规APIView类,或重用mixin和基类使用的通用视图来组成自己的组可重用通用视图。...通用视图可以设置一些类属性通用视图内,也可以根据特殊要写重写它的内部视图方法 使用.as_views()来转换成视图函数 url(r’^/users/’, ListCreateAPIView.as_view

2.3K60

django-rest-framework框架学习

django很著名的一个框架是django-rest-framework,帮我们减少了很多工作量,尤其序列化与反序列化成我们需要的格式帮了我们省了很多事 在这里就记录一下个人的学习过程 django-rest-framework...实现一组api的基本流程 models.py创建自己需要的数据模型 创建serializers.py在其中写出适合的serializer类,能够正确的序列化与反序列化 views.py写出合适的...api类,只需要继承rest_frameworkgenerics的某个类,重写我们需要的方法实现合适的逻辑即可 urls.py配置所需要的url 一组api的demo 创建一个model 创建好的...请注意,使用超链接的API时,您需要确保双方的API意见和串行类设置查找字段,如果你需要使用一个自定义值 get_queryset()实现的是按照name查询的,因为很多时候客户端并不知道自己的id...,毕竟现在很多大牛说不使用外键,应用控制逻辑嘛 当然这里也可以使用models.ForeignKey,会让操作变得更简单的一点 serializers.py为: from rest_framework

1.2K10
领券