router :: gradle-plugin

Generic generator for http router bases on a route file similar to rails. The generated classes are framework agnostic, whereas several adapters are already provided.

Лицензия

Лицензия

MIT
Категории

Категории

Gradle Компиляция и сборка
Группа

Группа

de.leanovate.router
Идентификатор

Идентификатор

router-gradle-plugin
Последняя версия

Последняя версия

0.10
Дата

Дата

Тип

Тип

jar
Описание

Описание

router :: gradle-plugin
Generic generator for http router bases on a route file similar to rails. The generated classes are framework agnostic, whereas several adapters are already provided.

Скачать router-gradle-plugin

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/de.leanovate.router/router-gradle-plugin/ -->
<dependency>
    <groupId>de.leanovate.router</groupId>
    <artifactId>router-gradle-plugin</artifactId>
    <version>0.10</version>
</dependency>
// https://jarcasting.com/artifacts/de.leanovate.router/router-gradle-plugin/
implementation 'de.leanovate.router:router-gradle-plugin:0.10'
// https://jarcasting.com/artifacts/de.leanovate.router/router-gradle-plugin/
implementation ("de.leanovate.router:router-gradle-plugin:0.10")
'de.leanovate.router:router-gradle-plugin:jar:0.10'
<dependency org="de.leanovate.router" name="router-gradle-plugin" rev="0.10">
  <artifact name="router-gradle-plugin" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.leanovate.router', module='router-gradle-plugin', version='0.10')
)
libraryDependencies += "de.leanovate.router" % "router-gradle-plugin" % "0.10"
[de.leanovate.router/router-gradle-plugin "0.10"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
de.leanovate.router : router-generator jar 0.10

provided (3)

Идентификатор библиотеки Тип Версия
javax.inject : javax.inject jar 1
org.gradle » gradle-core jar 2.0
org.codehaus.groovy : groovy-all jar 2.3.3

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.11

system (1)

Идентификатор библиотеки Тип Версия
org.gradle » gradle-plugins jar 2.0

Модули Проекта

Данный проект не имеет модулей.

route-generator

Introduction

This is a very generic framework to use Rails-like (or Play framework like) http route files in any java-based web-framework of your choice, including (but not restricted to) plain old java servlets.

Please note: This is a Java 8 project and will not work on Java 7 or lower.

How it works

Consider you have a class SomethingController like this:

pacakge com.myself.project

public class SomethingController {
  public static void index(Response response) {
    ... do something ...
  }

  public static void create(Request request, Response response) {
    ... do something ...
  }
  
  public static void get(String id, Response response) {
    ... do something ...
  }
}

Wheras Request and Response are the request and response classes of your web-framework (line HttpServletRequest and HttpServletResponse in case of servlets).

Now you can define somewhere inside your project (default: src/main/routes) one or more .routes files like this:

something.routes

package com.myself.project

GET  /something      SomethingController.index(response)
POST /something      SomethingController.create(request, response)
GET  /something/:id  SomethingController.get(id, response)

which will be converted to a java class

pacakge com.myself.project

import de.leanovate.router.RouteMatchingContext;
import static de.leanovate.router.CommonRouteRules.*;

public class SomethingRoutes {
  public boolean route(final RouteMatchingContext<Request, Response> ctx0) {
    ... if request matches the rules: calles the methods of SomethingController and returns true
    ... otherwise returns false
  }
}

Its now up to you to integrate this class into your web-framework, by using the approriate adapters or implement them yourself, which should be fairly straight foreward in both cases.

At the moment the following adapters are provided out of the box:

  • Servlet-API 3.1
  • Vert.x

Licence

MIT Licence

de.leanovate.router

Версии библиотеки

Версия
0.10
0.9
0.7