Я использую api-платформу с Symfony 4. Он работает нормально, но я хотел бы изменить URL-адрес GET с: /booking/{id}
на /booking/{bookingId}
Я использую свой собственный объект DTO ипользовательский поставщик данных (не Doctrine ORM).
Вот текущие определения @ApiResource
и @ApiProperty
, которые отлично работают:
/**
*
* @ApiResource(
* itemOperations={
* "get"={
* "path"="/booking/{id}",
* },
* "api_bookings_get_item"={
* "swagger_context"={
* "operationId"="getBookingItem",
* "summary"="Retrieves details on a booking",
* "parameters"= {
* {
* "name"="id",
* "description"="Booking ID",
* "default"="15000",
* "in"="path",
* "required"=true,
* "type"="string"
* }
* },
* "responses"={
* "200"={
* "description"="Results retrieved"
* },
* "404"={
* "description"="Booking not found"
* }
* }
* }
* }
* },
* collectionOperations={}
* )
*/
final class Booking
{
/**
* @var string
* @Assert\NotBlank
*
* @ApiProperty(
* identifier=true,
* attributes={
* "swagger_context"={
* "description"="Booking ID",
* "required"=true,
* "type"="string",
* "example"="123456"
* }
* }
* }
*/
public $id;
// other variables
}
Однако, если я изменю все ссылки с 'id'
до 'bookingId'
перестает работать, и я получаю ошибку 404
.Вот изменения, которые я внес в приведенный выше код:
"path"="/booking/{bookingId}"
"name"="bookingId"
public $bookingId;
Жестко ли закодирована API-платформа для использования 'id'
в качестве идентификатора?Есть ли способ изменить это?