2015-06-05 6 views
0

Я новичок в мире REST, в большинстве примеров CXF, которые я видел, есть конфигурация, чтобы публиковать WADL в службах REST при публикации.Expose RAML contract вместо WADL в CXF

Что-то вроде

Available RESTful services: 
Endpoint address: http://localhost:8080/ouat-servicesImpl/api 
WADL : http://localhost:8080/ouat-servicesImpl/api?_wadl 

Затем, когда щелкнул

<application> 
    <grammars/> 
    <resources base="http://localhost:8080/ouat-servicesImpl/api"> 
    <resource path="/topics"> 
     <method name="POST"> 
     <request> 
      <representation mediaType="application/json"/> 
     </request> 
     <response> 
      <representation mediaType="application/json"/> 
     </response> 
     </method> 
    </resource> 
    </resources> 
</application> 

Я узнавал Raml и его преимущества в создании контракта. Есть ли способ опубликовать контракт с RAML на этой странице обслуживания «домой» CXF? Или я смешиваю понятия/назначение RAML и WADL? На самом деле я думаю, что оба способа заключить контракт на обслуживание, однако, на мой взгляд, RAML более совершенен

+2

Оба описывают договор. Но в наши дни RAML становится популярным. WADL был неудачным, как я знаю. – Manmay

+0

Да, это именно то, что я слышу. Вы знаете, есть ли способ разоблачить этот договор RAML, когда служба подвергается воздействию CXF? – arthurfnsc

+0

Вы можете открыть свой RAML-файл с URL-адресом, как и WSDL. Вы также можете взглянуть на swagger, который также поддерживает RAML. Swagger предоставляет пользовательский интерфейс для обнаружения, документирования и тестирования конечных точек REST. – Manmay

ответ

2

Предполагая, что вы упаковываете свой сервис CXF в качестве WAR, вот как вы можете достичь своей цели на основе реального проекта, работать:

Bonus точкой для:

Смежные вопросы