Сопоставление URL-адреса WSO2 с ресурсом службы данных

В любом случае, на сервере служб данных WSO2 можно зарегистрировать службу, которая предоставляет ресурс с двумя методами GET с одним и тем же базовым URL-адресом, один для получения всех ресурсов, а другой для получения только определенного ресурса. Например:

  • [HTTP GET] академики/курсы: возвращает все курсы.
  • [HTTP GET] Academics/Courses/9789: возвращает курс с кодом 9789.

Для этого я попытался со следующей конфигурацией:

<data ...>
    ...

    <resource method="GET" path="academics/courses"> 
      <call-query href="getAllCoursesQuery"/> 
    </resource>

    <resource method="GET" path="academics/courses/{code}"> 
      <call-query href="getCourseByCodeQuery"> 
         <with-param name="courseCode" query-param="code"/> 
      </call-query> 
    </resource>

    ... 
</data>

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

В документации предлагается следующий способ: использовать для этого единственное/множественное число, но я думаю, что это не лучший/правильный способ сделать это.

Любая идея?


person Michael    schedule 19.07.2013    source источник


Ответы (1)


Боюсь, это ограничение DSS на данный момент, и вы не можете использовать один и тот же базовый URL-адрес для вызова двух разных запросов, просматривая параметры. И, как вы также упомянули, другой подход заключается в использовании разных путей ресурсов для сопоставления с запросами.

В предстоящем выпуске DSS версии 3.1.0 будут поддерживаться нужные вам функции.

Здоровья, Анджана.

person Anjana Fernando    schedule 20.07.2013