1

Symfony 4 をインストールしてから API Platform をインストールします。

次に、このような Test クラスを作成します

class UserFunctionalTest extends WebTestCase
{
    /** @var string  */
    protected $host = "https://wikaunting-api.local";

    /** @var KernelBrowser */
    protected $client;

    protected function setUp()
    {
        $this->client = static::createClient();
    }

    public function testCreateUser()
    {
        $response = $this->client->request('POST', $this->host . '/api/users.json', [
            'json' => [
                'username' => 'jamielann1',
                'email' => 'test@example.com',
                'password' => 'jamielann1',
            ],
        ]);

        $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
    }
}

を実行する./bin/phpunitと、エラーメッセージが表示されました

Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\UnsupportedMediaTypeHttpException: "The content-type "application/x-www-form-urlencoded" is not supported. Supported MIME types are "application/ld+json", "application/json", "text/html"." at /home/vagrant/Code/testcode/vendor/api-platform/core/src/EventListener/DeserializeListener.php line 130

私の質問は、なぜ application/json として受信されないのですか? 適切な方法は何ですか?

4

2 に答える 2