Blog

ColdBox Relax v1.7 Released

Luis Majano November 16, 2011

Spread the word

Luis Majano

November 16, 2011

Spread the word


Share your thoughts

We are proud to announce yet another version of our open source RESTful assistant: ColdBox Relax - RESTful Tools For Lazy Experts! For those of you who do not know what ColdBox Relax is, here you go:

What is Relax? ColdBox Relax is a set of RESTful tools for lazy experts. We pride ourselves in helping developers work smarter and of course document more in less time by providing them the necessary tools to automagically document and test. ColdBox Relax is a way to describe RESTful web services, test RESTful web services, monitor RESTful web services and document RESTful web services.  Now with version 1.5 you can also share RESTful web service definitions and manage a library of RESTful definitions.

So what's new with version 1.7:

  • Various fixes to JSON lint and formatting
  • Throw exceptions on invalid loading of API's
  • New programmatic DSL for defining resources instead of an implicit struct/array notation
  • New self-documenting DSL, what would be a project without documentation
  • Addition of defaultFormat() and defaultMethod() for each resource definition
  • Addition of JS auto-select of default format and methods if defined in resource in the RelaxURL tester console

The most important feature of this release is that now you have a great programmatic DSL to define your RESTful resources:

resource(pattern="/api/user/:username",handler="rest.user",action="{'get':'view','post':'create','put':'update','delete','remove'}")
			.description("The representation for system users.  You can also interact with creation, updating and deletion via this resource")
			.methods("GET,POST,PUT,DELETE")
			.defaultMethod("GET")
			.defaultFormat("json")
			.header(name="x-test",description="Return test in a header",required="true")
			.param(name="firstName",description="The user firstname. Only used on PUT and POST operations",required="true")
			.param(name="lastName",description="The user lastname. Only used on PUT and POST operations",required=true)
			.param(name="email",description="The user email. Only used on PUT and POST operations",required="false")
			.placeholder(name="username",description="The resource username to interact with",required=true);

Resources, links and information:

Add Your Comment

Recent Entries

Protect Your Data with Proactive Database Security Management

Protect Your Data with Proactive Database Security Management

In today’s digital age, data is among the most valuable assets for businesses. It powers decision-making, customer engagement, and operational efficiency. However, as data volumes grow, so do the risks associated with managing it. Ensuring database security and compliance is no longer optional—it’s a necessity.


The Evolving Landscape of Database Security

Modern databases face a myriad of challenges, from increasingly sophisticated cyber threats to strin...

Cristobal Escobar
Cristobal Escobar
December 06, 2024
The Experts Driving BoxLang: The Team Behind the Revolution

The Experts Driving BoxLang: The Team Behind the Revolution

Introduction

BoxLang is not just another programming language; it’s a revolutionary step forward for JVM environments. But who are the minds behind this innovation? Meet the talented team of architects, developers, and engineers who have combined decades of experience to create BoxLang—a language built for scalability, performance, and efficiency. Let’s explore their ex...

Cristobal Escobar
Cristobal Escobar
December 04, 2024
Why BoxLang is the Modern Software Development Evolution You’ve Been Waiting For?

Why BoxLang is the Modern Software Development Evolution You’ve Been Waiting For?

In today’s software landscape, developers need tools that deliver flexibility, efficiency, and modernization. With decades of open-source expertise, Ortus Solutions introduces BoxLang—our most ambitious project yet. Built for the JVM, BoxLang integrates seamlessly with Java, offering powerful features for scalable, high-performance web applications. Fully compatible with CFML, it ensures a smooth transition and expanded capabilities for existing projects.

Maria Jose Herrera
Maria Jose Herrera
December 04, 2024