为什么wordpress自定义休息api路由只适用于' GET'

时间:2017-02-08 20:19:00

标签: wordpress wordpress-rest-api

我创建了一个最简单的rest api路径

   public static function register_my_route(){
    register_rest_route( 'vender/v1','test',array(
        'method' => 'POST',
        'callback' => function(){return 1;}
    ));
}

add_action( 'rest_api_init', array( __CLASS__, 'register_my_route' ) );

我使用邮递员来测试它,总是返回"代码":" rest_no_route",404,但如果我将其更改为method => GET,它的工作原理

1 个答案:

答案 0 :(得分:0)

尝试使用WP_REST_Server常量,并定义声明的权限。

add_action( 'rest_api_init', function() {
    register_rest_route( 'vender/v1', '/test', array(
        'methods'             => WP_REST_Server::CREATEABLE,
        'callback'            => function() { return 'works'; },
        'permission_callback' => function() { if ( ! current_user_can( 'edit_posts' ) ) { return false; } return true; },
    ) );
} );

希望这有帮助!