我正在尝试创建一个休息端点。我这样做的方法是首先使用apiConnector.get('api/settings/get').then(function(settings) {
$rootScope.settings = settings;
$rootScope.$broadcast('settings-fetched');
});
创建一个模块,然后添加其余依赖项,然后使用drupal generate:module
创建一个restresource。这一切都运行正常,我创建的端点甚至显示在模块restui中,具有以下路径:drupal generate:plugin:rest:resource
。
问题是,当我进入我创建的端点时,我收到以下错误:
/api/v1/articles
缓存重建并不能解决我的问题,当我查看路由表时,确实没有为{
"message": "No route found for \"GET /api/v1/articles\""
}
添加路由。
有什么我忘了做的吗?
这是生成的休息资源:
/api/v1/articles
答案 0 :(得分:3)
根据REST and Application Integration:
您发送的数据的内容类型,或者您的接受类型 您收到的数据必须设置为' application / hal + json'。
因此需要执行以下步骤:
?_format=hal+json
添加到URL(例如GET)。这也可能是因为错过了这一行,但你已经拥有它:
"https://www.drupal.org/link-relations/create" = "/api/v1/articles"
答案 1 :(得分:0)
所以问题在于从8.1.9升级到8.2.0。这破坏了我用于分配端点的RestUI模块。
答案 2 :(得分:0)
问题是,restui不会为您的资源创建配置文件,如果您只想使用稳定版本(8.x-1.12),可以自己创建它。 restui的dev版本已经解决了这个问题。