标签: http-patch

REST API PATCH或PUT

我想用以下场景的适当方法设计我的休息端点.

有一个小组.每个组都有一个状态.管理员可以激活或取消激活该组.

我应该将我的终点设计为

PUT /groups/api/v1/groups/{group id}/status/activate
Run Code Online (Sandbox Code Playgroud)

要么

PATCH /groups/api/v1/groups/{group id}

with request body like 
{action:activate|deactivate}
Run Code Online (Sandbox Code Playgroud)

rest http http-put http-method http-patch

252
推荐指数
4
解决办法
16万
查看次数

PUT,POST和PATCH有什么区别?

HTTP协议中的PUT,POST和PATCH方法有什么区别?

http http-post http-put http-patch

228
推荐指数
10
解决办法
16万
查看次数

如何使用Django Rest Framework修补单个字段?

我有一个包含许多字段的模型'MyModel',我想使用PATCH方法更新字段'status'.我正在使用基于类的视图.有没有办法实现PATCH?

python api django django-rest-framework http-patch

39
推荐指数
4
解决办法
3万
查看次数

浏览器中的HTTP PATCH支持

我正在为我的应用程序设计REST端点,我需要为一些端点使用PATCH.所有支持HTTP/1.1的浏览器都能支持PATCH吗?

rest http-patch

31
推荐指数
1
解决办法
1万
查看次数

Backbone.js中的PATCH请求方法

PATCH在Backbone.js中保存模型属性时执行请求的正确方法是什么?

backbone.js http-patch

18
推荐指数
3
解决办法
1万
查看次数

GoLang,REST,PATCH和构建UPDATE查询

几天以来,我一直在努力研究如何在Go REST API中继续使用PATCH请求,直到我找到一篇关于使用指针和omitempty标记文章,我已经填充并且工作正常.很好,直到我意识到我仍然需要构建一个UPDATESQL查询.

struct看起来像这样:

type Resource struct {
    Name        *string `json:"name,omitempty"        sql:"resource_id"`
    Description *string `json:"description,omitempty" sql:"description"`
}
Run Code Online (Sandbox Code Playgroud)

我期待一个PATCH /resources/{resource-id}包含这样一个请求体的请求:

{"description":"Some new description"}
Run Code Online (Sandbox Code Playgroud)

在我的处理程序中,我将以Resource这种方式构建对象(忽略导入,忽略错误处理):

var resource Resource
resourceID, _ := mux.Vars(r)["resource-id"]

d := json.NewDecoder(r.Body)
d.Decode(&resource)

// at this point our resource object should only contain
// the Description field with the value from JSON in request body
Run Code Online (Sandbox Code Playgroud)

现在,对于正常UPDATE(PUT请求)我会这样做(简化):

stmt, _ := db.Prepare(`UPDATE resources …
Run Code Online (Sandbox Code Playgroud)

sql rest go http-patch

16
推荐指数
2
解决办法
4897
查看次数

为什么PATCH既不安全也不幂等?

我无法理解为什么PATCH在PUT不安全的地方.也就是幂等部分 - 如果我更新资源的一个字段,那么该字段在更新后是否会返回相同的值?

rest http restful-architecture http-patch

14
推荐指数
3
解决办法
6065
查看次数

如何在dotnet核心中使用HttpClient进行补丁请求?

我正在尝试Patch使用HttpClientin dotnet核心创建一个请求.我找到了其他方法,

using (var client = new HttpClient())
{
    client.GetAsync("/posts");
    client.PostAsync("/posts", ...);
    client.PutAsync("/posts", ...);
    client.DeleteAsync("/posts");
}
Run Code Online (Sandbox Code Playgroud)

但似乎无法找到Patch选项.可以PatchHttpClient?做请求吗?如果是这样,有人能告诉我一个如何做的例子吗?

dotnet-httpclient http-patch

11
推荐指数
3
解决办法
4034
查看次数

Google AppEngine WebApp2上的PATCH方法处理程序

我尝试def patch():在我的方法中使用一种方法webapp2.RequestHandler来支持部分资源更新,但后来发现在webapp2.py中冻结了允许的方法:

allowed_methods = frozenset(('GET', 'POST', 'HEAD', 'OPTIONS', 'PUT',
                             'DELETE', 'TRACE'))
Run Code Online (Sandbox Code Playgroud)

在Google AppEngine上部署时,如何扩展webapp2.RequestHandler或修改WSGIApplication类以允许PATCH HTTP方法?

google-app-engine webapp2 http-patch

10
推荐指数
1
解决办法
1549
查看次数

通过PATCH进行部分更新:如何解析SQL更新的JSON数据?

我正在服务器端实现'PATCH'以部分更新我的资源.

假设我没有在JSON请求/响应中公开我的SQL数据库模式,即JSON中的键和表的列之间存在单独的映射,如何在SQL中给出JSON的最佳数据,以便最好地确定要更新的列.部分更新?

例如,假设我的表有3列:col_a,col_bcol_c,并且JSON键与表列之间的映射是:a -> col_a, b -> col_b, c -> col_c.鉴于JSON-PATCH数据:

[
    {"op": "replace", "path": "/b", "value": "some_new_value"}
]
Run Code Online (Sandbox Code Playgroud)

以编程方式将此部分更新应用于col_b与我的资源相对应的表的最佳方法是什么?

当然,我可以在keys_to_columns某个地方的dict 中对这些映射进行硬编码,并且根据每个请求patch_data,我可以这样做:

mapped_updates = {keys_to_columns[p['path'].split('/')[-1]]: p['value'] for p in patch_data}
Run Code Online (Sandbox Code Playgroud)

然后用于mapped_updates构建用于数据库更新的SQL语句.如果上面抛出一个KeyError我知道请求数据无效并且可以扔掉它.我需要为我拥有的每个表/资源执行此操作.

我想知道是否有更好的方法.

python api rest json http-patch

10
推荐指数
1
解决办法
759
查看次数