Как включить подстановочный знак в URL-адрес?

#node.js #url

Вопрос:

У меня есть приведенный ниже URL-адрес для получения пользовательских данных

 https://*****************/userdata(user_id='user_123')"
 

Как сделать его настраиваемым, чтобы он возвращал данные пользователей, чей идентификатор начинается с user?
Я пытался

 https://*****************/userdata(user_id LIKE 'user%')"
 

и это выдает следующую ошибку
«org.odata4j.исключения.Исключение BadRequestException: Незаконный ключ (идентификатор пользователя, НАПРИМЕР » пользователь%»)»
Как мне это решить?

Ответ №1:

Вы пытаетесь сделать запрос HTTP GET с URL /userdata(user_id='user_123')" или /userdata(user_id LIKE 'user%')" .

Во-первых, у вас нет запроса, поэтому для достижения этой цели используйте ? , например /userdata?my_data=some_data .

Во-вторых, если вы хотите взять пользователя по идентификатору, пожалуйста , используйте REST или просто передайте такой параметр: /userdata/:id , например URL: /userdata/27 , где у вас есть идентификатор параметра 27.

Наконец, если у вас сложный запрос, возможно, было бы лучше использовать тело HTTP для отправки данных или даже изменить API на GraphQL или что-то еще.

Комментарии:

1. Я добавил фильтр как /userdata?$filter=startswith(идентификатор пользователя,’пользователь) eq true, но проблема в том, что из кода он возвращает ошибку 404, тогда как на самом деле конечная точка существует. Можете ли вы подсказать, как это сделать?

2. это должна быть локальная проблема, трудно сказать без масштаба