Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Using URI path templates with annotated classes

Jeanfrancois Arcand edited this page May 16, 2013 · 3 revisions

Available with @WebSocketService, @ManagedService, @MeteorService or @AtmosphereHandlerService, URI path templates are URIs with variables embedded within the URI syntax. These variables are substituted at runtime in order for a @...Service to respond to a request based on the substituted URI. Variables are denoted by curly braces. For example, look at the following @ManagedService annotation:

@ManagedService(path = "{chatroom}")
public class ChatRoom {

}

If it is required that a chatroom must only consist of lower and upper case numeric characters then it is possible to declare a particular regular expression, which overrides the default regular expression, "[^/]+?", for example:

@ManagedService(path = "{chatroom: [a-zA-Z][a-zA-Z_0-9]*}")
public class ChatRoom {

}

In this type of example the chatroom variable will only match names that begin with one upper or lower case letter and zero or more alpha numeric characters and the underscore character. If a name does not match that a 404 (Not Found) response will occur.

By default, Every value evaluated from curly braces will have their own instance of the annotated classes. If you need a single class, use the @Singleton annotation.

@Singleton
@ManagedService(path = "{chatroom: [a-zA-Z][a-zA-Z_0-9]*}")
public class ChatRoom {

}

Step by Step Tutorials

Concepts & Architecture

15 Minutes Tutorial

Advanced Topics

API

Known WebServer Issues

References

External Documentations

githalytics.com alpha

Clone this wiki locally
Morty Proxy This is a proxified and sanitized view of the page, visit original site.