我刚刚尝试了https://api-platform.com/docs/core/operations/#recommended-method示例。
Book.class按照描述生成了CreateBookPublication班级(1/1) RuntimeException 无法自动装配服务“App\Controller\CreateBookPublication”:方法“__construct()”的参数“$bookPublishingHandler”的类型为“App\Controller\BookPublishingHandler”,但未找到此类。
你有什么主意吗?我想生成一个自己的硬编码响应,没有用于测试目的的学说。
看起来你没有BookPublishingHandler类,你必须自己实现它,这个文档示例不是完全有效的演示。
错误表示 DI 试图查找App\Controller\CreateBookPublication但它不存在或未注册为服务。我假设您使用的是默认配置,并且它会src/自动注册在目录中找到的服务。
所以创建目录src/Handler,在里面创建类文件 BookPublishingHandler.php
<?php
namespace App\Handler;
use App\Entity\Book;
class BookPublishingHandler
{
public function handle(Book $book): array
{
// your logic for publishing book or/and eg. return your custom data
}
}
Run Code Online (Sandbox Code Playgroud)
并将导入添加到您的 CreateBookPublication 控制器
<?php
namespace App\Controller;
use App\Handler\BookPublishingHandler;
Run Code Online (Sandbox Code Playgroud)
或者您可以直接从控制器返回硬编码数组进行测试。