我正在使用 Laravel 创建一个基于以下内容的 API野狗API.
在我的路线中,我有:
Route::api('v1', function () {
Route::resource('object', 'My\Namespace\MyController');
});
在我的控制器中:
class MyController extends \Illuminate\Routing\Controller {
use Dingo\Api\Routing\ControllerTrait;
public function index() {
return MyObject::all();
}
public function show($id) {
return MyObject::findOrFail($id);
}
}
这意味着api.domain.com/object
calls MyController@index
,有效。由于数据库中没有项目,因此输出一个空的 json 数组[]
.
api.domain.com/object/123
calls MyController@show(123)
。这是根据https://github.com/dingo/api/wiki/Responses。但是,由于数据库中没有结果,我得到:
No query results for model [My\Namespace\MyObject].
我希望这会给出一个很好的 RESTful 错误。我怎么做?
MyObject 的代码没什么特别的,它是一个扩展的空类Illuminate\Database\Eloquent\Model
.
我正在使用 Laravel 4.2; Dingo 尚不支持 5。