问题描述
我正在处理一个 Symfony 项目。我必须安装 API 平台。所以我做了一个
composer require api
然后当我想用 localhost:8000/api 访问我的 /api 时,它显示了我这个代码
{"resourceNameCollection":["App\\Entity\\User"]}
只有一个白页,仅此而已。
我的问题是为什么不显示这个?
我的路线/api_platform.yaml
api_platform:
resource: .
type: api_platform
prefix: /api
我的包/api_platform.yaml
api_platform:
title: 'Symfony REST API'
description: 'A Symfony API.'
version: '1.0.0'
mapping:
paths: ['%kernel.project_dir%/src/Entity']
swagger:
versions: [3]
patch_formats:
json: ['application/json']
eager_loading:
force_eager: false
formats:
json:
mime_types: ['application/json']
multipart:
mime_types: ['multipart/form-data']
collection:
pagination:
enabled: false
我的 security.yaml
security:
encoders:
App\Entity\User:
algorithm: bcrypt
providers:
users_in_memory: { memory: null }
users_in_database:
entity:
class: 'App\Entity\User'
property: "username"
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: true
provider: users_in_database
form_login:
login_path: security_login
check_path: security_login
logout:
path: security_logout
target: home
access_control:
解决方法
我发现了问题。
在我的“packages/api_platform.yaml”中,我添加了
html:
mime_types: ['text/html']
像这样的格式
formats:
json:
mime_types: ['application/json']
jsonld:
mime_types: ['application/ld+json']
html:
mime_types: ['text/html']
multipart:
mime_types: ['multipart/form-data']
所以基本上它需要 html 格式来呈现页面,我猜。