Seam REST 3.0.0.Alpha3 has been released. This is the last stop before moving to the Beta phase. Thus, the main focus is now on stabilizing the API.

What's new?

 

The Seam Catch integration has been finished. See my previous blog post or the reference documentation for how to handle exceptions using Seam Catch.

 

The API for declarative exception mapping has changed. We have dropped the support for configuration through ExceptionMapping objects and switched to annotation-based configuration.

@ExceptionMapping.List({
   @ExceptionMapping(exceptionType = NoResultException.class, status = 404,
          message = "Requested resource does not exist."),
   @ExceptionMapping(exceptionType = IllegalArgumentException.class, status = 400,
          message = "Illegal argument value.")
})
@ApplicationPath("/api")
public MyApplication extends Application {

 

 

In addition, the API for validation of JAX-RS method parameters has also changed to comply with convention. From now on, the entity body parameter is validated by default. Other parameters (such as parameter objects) can be added to the validation process by using the @Valid annotation.

@POST
@Path("/myservice")
@ValidateRequest
public void post(Task task, @Valid @Form MyForm form)

 

Try it now!

 

[Combined JAR]  [Distribution]  [JIRA]  [API docs]  [Reference guide]  [Release Notes]