Этот вопрос возник, когда я создавал бэкэнд с использованием JAX-RS, но он действительно может применяться к любому REST API.
Как JAX-RS обрабатывает пути, которые могут конфликтовать из-за переменных пути param? Предположим, у вас есть
@POST
@Path('createBox/{boxName}')
foo()
@POST
@Path('createBox/small')
bar()
И кто-то хочет вызвать первую конечную точку с аргументом параметра пути small
. Что происходит в этом случае? Если бы foo()
и bar()
имели разные пармы (например, @FormParam
), помогло бы это различать? Что, если бы они были точно такими же, без аргументов? Является ли поведение недетерминированным c?