Что может 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 имеет встроенную поддержку веб-сервисов. То, что он приносит на стол:
- Вы можете использовать свое собственное понимание компонентов и расширять их как полноценные веб-сервисы.
- Основано на стандарте JAX-RS
- Тонны поддержки / приложений, доступных для расширения (тестирование / автоматизация)....
- Нет предвзятого отношения к реализации, широко доступно / приемлемо
- Лучшая производительность
- Лучшая поддержка и док
- Меньше конфигурации
- Приложение WADL реализовано (как WSDL)
- Полная поддержка 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) предоставит вам инфраструктуру без накладных расходов на инфраструктуру приложений.