Трансформатор Swift Siesta различает `/ path / {id}` и `/ path / special-token` - PullRequest
0 голосов
/ 07 сентября 2018

Предположим, я настраиваю свои преобразователи и мне нужно обработать два одинаковых маршрута API, которые возвращают разные схемы объектов, например,

/beers/{id}               -> [Beer]
/beers/grouped-by-country -> [Country:Beer]

Кажется, Сиеста не может различить в этом случае, потому что сопоставление путей поддерживает только базовый глоб. Так что лучшее, что мы можем сделать, это

service.configureTransformer("/beers/*") { ... }
service.configureTransformer("/beers/grouped-by-country") { ... }

И, конечно же, /beers/* также будет соответствовать /beers/grouped-by-country, поэтому он попытается проанализировать ответ на неправильный тип объекта.

Есть ли способ отличить маршруты в этом случае?

...