RESTEasy (JAX-RS) позволяет динамическую диспетчеризацию через подресурсы.Например:
POST /customers/create
{"name":"Smith","country":"jp"}
У нас может быть корневой ресурс для обработки пути "/ Customers" с помощью метода, аннотированного без метода HTTP, но с помощью @Path ("/ create").Этот метод возвращает ресурс, на который смотрит JAX-RS, чтобы продолжить обработку запроса.Однако этот ресурс должен обрабатывать путь "/ Customers / Create".
У меня есть ситуация, в которой могут быть созданы различные типы объектов:
POST /customers/create
{"name":"Smith"}
POST /locations/create
{"name":"Chicago"}
Я хотел бы добавитьвозможность создания любого вида сущности на основе дополнительного свойства в теле запроса:
POST /entities/create
{"type":"customer","name":"Smith"}
По сути, я хочу перенаправить запрос в код, который обрабатывает "POST / Customers / Create".Я могу написать локатор подресурса, который вызывается для «POST / entity / create» и возвращает ресурс Customer, но JAX-RS не может отправить запрос, потому что ресурс Customer не обрабатывает путь «/ entity / create».Можно ли изменить URL-адрес на / Customers / Create при пересылке запроса?
На данный момент я не могу изменить API, чтобы сделать "клиенты" настоящим подресурсом "сущностей".