Что может CF10 RESTful API сделать, чего не может Coldbox RESTful API? И наоборот?

Я только начал изучать некоторые фреймворки / библиотеки MVC JS, и большинство из них ожидают конечную точку API RESTful, что заставило меня задуматься... что я могу сделать, используя CF10, что нельзя сделать с помощью поддержки CF9 + ColdBox RESTful, и наоборот?

Спасибо.

3 ответа

Решение

Restful webservices является стандартной концепцией, и все реализации в конечном итоге придерживаются этих норм. Уже существуют фреймворки, такие как Taffy, Powernap, и фреймворки, такие как ColdBox 3, Mach II, которые могут помочь создать полноценные сервисы в ColdFusion. И я делаю потрясающую работу с точки зрения полноты и расширения прав и возможностей, предлагаемых пользователям. Разница во многом заключается в том, как они это делают, как они позволяют вам создавать ваши сервисы. Некоторые придерживаются соглашения о конфигурации других с их собственным DSL и т. Д. И в некотором смысле с точки зрения предлагаемых ими функций.

ColdFusion 10 имеет встроенную поддержку веб-сервисов. То, что он приносит на стол:

  1. Вы можете использовать свое собственное понимание компонентов и расширять их как полноценные веб-сервисы.
  2. Основано на стандарте JAX-RS
    • Тонны поддержки / приложений, доступных для расширения (тестирование / автоматизация)....
    • Нет предвзятого отношения к реализации, широко доступно / приемлемо
  3. Лучшая производительность
  4. Лучшая поддержка и док
  5. Меньше конфигурации
  6. Приложение WADL реализовано (как WSDL)
  7. Полная поддержка JSON/XML и легко расширяемый

Как вы увидите, большинство из этих преимуществ заключается в том, что он "изначально" доступен для языка, а не в сравнении возможностей, и именно поэтому мы его реализовали. ИМО нет никакого сравнения вообще. Я хотел бы, чтобы все фреймворки воспользовались преимуществами изначально доступной функции и основывались на ней.

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

Слово предостережения: каждый автор фреймворка будет склонен к своему собственному, поэтому судите, прежде чем делать прыжок.

ps я реализовал поддержку Rest в ColdFusion10:)

Отличный ресурс: https://github.com/atuttle/CF-REST-Comparison/tree/master/CF10

Требования / Причуды

  • У всех удаленных методов должен быть указан returnType="..." (где... - это тип, который будет возвращен).
  • Не забудьте restArgSource для <cfargument/> теги для аргументов URI-токена. Значением по умолчанию для restArgSource является body, которое не будет работать, если вы пытаетесь получить значение из URI.
  • Отображения для конкретных приложений не поддерживаются. Вместо этого используйте сопоставления сервера или полный путь cfc.
  • Когда бы я ни обновлял службы, я всегда следую этому рабочему процессу: удалите файл "exception.log" на экране файлов журнала. Обновить службы REST. Проверьте, не вернулся ли файл "exception.log". (Если так, прочитайте это и решите проблему.)

Поскольку rest cfc, как правило, будет просто оберткой для вашей модели, и если ваша модель уже была создана с помощью фреймворка cf, такого как coldbox, вам лучше использовать реализацию фреймворков веб-сервиса ReSTful.

Если вы начинаете с нуля, недавно добавленная функциональность в CF10 (и Railo 4) предоставит вам инфраструктуру без накладных расходов на инфраструктуру приложений.

Другие вопросы по тегам