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

方法POST的Wordpress REST API自定义endpoint

霍永年
2023-03-14

我目前正在从事一个需要WordPress网站和简单的REST api的项目。我发现WordPress有自己的REST api,并决定扩展其功能以满足我的需求。我需要做的就是拥有GET和POST请求的endpoint,这些endpoint可以从与WordPress没有直接关系的表(但在同一个数据库中)中检索/插入数据。我成功地实现了所有GET请求,但是,我正在努力让POST的工作。
我定义了这个路由寄存器:

register_rest_route('api/v1', 'create-player/', array(
        'methods' => 'POST',
        'callback' => 'create_player',
));

客户端通过ajax调用发送一个请求,该请求预计会从上面的路由到达endpoint。这是ajax:

    $.ajax({
       method: "POST",
       url: '/wp-json/api/v1/create-player/',
       data : JSON.stringify(data),
       contentType: 'applcation/json',
       beforeSend: function (xhr){
           xhr.setRequestHeader("X-WP-None", locData.nonce);
           console.log('beforeSend');
       },
       success: function(response){
           console.log("success" + response);
       },
       fail: function (response){
           console.log("fail" + response);
       }
    });

我不确定如何从REST api构建POST路由寄存器,其他GET请求有一个属性args,它直接映射到endpoint中传递的参数。使用POST时,我是否需要类似的东西来处理请求数据?如何获得从ajax传递的数据类型,然后在我的函数create_player()中使用它;WP REST API留档似乎不完整,我找到的所有信息都使用endpoint作为内置WordPress功能,例如帖子/作者/博客等,但我不需要,我只想使用提供的功能并创建我自己的界面。谢谢。


共有3个答案

韶和璧
2023-03-14

在注册路由时添加POST-in方法,并在回调函数中通过$request数组访问POST变量。就这样。

祁渊
2023-03-14

终于找到了!为了访问POST请求的正文,请使用$request-

鲜于煜祺
2023-03-14

在回调函数中,您可以使用如下内容:

 $param = $request->get_param( 'some_param' );

  // You can get the combined, merged set of parameters:
 $parameters = $request->get_params();

https://www.coditty.com/code/wordpress-api-custom-route-access-post-parameters

 类似资料:
  • 本章将会讨论如何在API设计中使用自定义方法。 自定义方法指的是五个标准方法之外的API方法。他们应当仅用于标准方法不易表达的功能。一般而言,API设计者应当尽可能优先考虑使用标准方法,而不是自定义方法。标准方法相对更简单,定义完善的语义,并且开发者也更加熟悉;这使标准方法更易用,并且使用者更难犯错。使用标准方法的另一个优势是API平台会有更好的支持,如计费、错误处理、日志、监控等等。 自定义方法

  • 本文向大家介绍php自定义类fsocket模拟post或get请求的方法,包括了php自定义类fsocket模拟post或get请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php自定义类fsocket模拟post或get请求的方法。分享给大家供大家参考。具体如下: zsocket.class.php文件如下: demo代码如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍wxWidgets自定义按钮的方法,包括了wxWidgets自定义按钮的方法的使用技巧和注意事项,需要的朋友参考一下 场景: 1.现在的软件上的按钮都不是标准的按钮了,因为基本上是贴图上去的,正常情况下一种图片,鼠标移上去之后按钮显示另一种效果,按下去之后又是另一种效果。 2.wx的做法其实和mfc的按钮原理是一样的,就是给按钮贴图和重绘背景。 以下是源文件. dh_bitmap_b

  • 本文向大家介绍Javacript中自定义的map.js  的方法,包括了Javacript中自定义的map.js  的方法的使用技巧和注意事项,需要的朋友参考一下  js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里new Map()和put()、remove()、get()等方法。 map.js: map-

  • TL;DR:如何选择一个WP REST API自定义endpoint的响应的每一点信息? 长版 如果我想使用WP REST API构建自定义endpoint - 从不同的帖子类型发送特定帖子数据 - 按照手册中的示例,我得到了这个: 但是get_post()函数没有返回一些数据,如果您希望在页面中显示帖子,这些数据是非常有用的(例如类别id、特色图片)。那么,我如何构建一个自定义endpoint来

  • 我正在尝试使用Spring(v.4.1.0)Security(v.3.2.5)保护的访问URL(例如 /user/subscriptions),在提交用户名/密码和csrf令牌后,我收到以下错误: HTTP错误405访问/j\u spring\u security\u检查时出现问题。原因:不支持请求方法“POST” 我有以下配置。网状物xml Spring Security上下文: CustomL