Если бы я предпринял это, я бы начал с создания кольцевого адаптера для RESTEasy. После того, как это будет сделано, Compojure будет знать, как обрабатывать и отвечать на запросы http таким образом, который работает с RESTEasy. Вот некоторая информация, которая поможет вам начать работу.
Ring - это библиотека clojure, которая представляет http-запросы и ответы стандартным способом. Этот стандарт подробно здесь .
Он работает, получая запрос http из любой из множества библиотек (например, jetty, netty, finagle) и переводя его в стандартное представление. Затем он передает запрос обработчику запроса (часто это определяется с помощью Compojure). Затем обработчик возвращает ответ (также определенный в приведенной выше спецификации). Этот ответ переводится по кольцу обратно в форму, понятную моле, нетто и т. Д.
Этот перевод сделан кольцевыми адаптерами. Есть несколько перечисленных здесь , и кольцо поставляется с встроенным адаптером для пристани. Возможно, вы можете использовать один из них в качестве шаблона для создания адаптера RESTEasy. После этого вы можете использовать compojure стандартным способом.
Ring и compojure являются отличными примерами создания DSL. Как и все хорошие DSL, он упрощает создание решений в своей проблемной области (в данном случае HTTP-серверы). Они являются отличным примером того, как мыслить с точки зрения DSL. Если вы изучите их, вы будете на пути к мышлению с точки зрения DSL.