Проект находится в процессе разработки и ещё не завершён, следите за новыми обновлениями...
Лёгкий и высокопроизводительный микросервисный фреймворк, данный проект представляет собой реализацию Sinatra с использованием Netty5 и Java8.
Сардины — важнейшие морские экономически значимые виды рыб. Они относятся к отряду сельдей семейства сельдей, имеют вытянутую форму, боковое сужение и шипастый брюшной край. Маленькие особи достигают двух дюймов в длину, а большие могут достигать одного фута, живут большими стаями и совершают прибрежные миграции.
public static void main(String[] args) {
get("/", () -> "hello sardine.");
}
Готово! Теперь откройте ваш браузер:
<dependency>
<groupId>sardine</groupId>
<artifactId>sardine-all</artifactId>
<version>${sardine-version}</version>
</dependency>
```### Запуск
import static sardine.Sardine.*;
public class SardineServerTest { public static void main(String[] args) { port(9527); get("/", () -> "hello sardine."); } }
### Роутинг
Роутинг состоит из трех частей:
- **Действие**: одно из действий HTTP (GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT, PATCH)
- **Путь**: путь запроса HTTP (/home, /books/:id, /books/:author)
- **Функция**: принимает HTTP-request и создает HTTP-response (() -> {}, (request, response) -> {})
Кроме того, можно использовать:
- **Условия**: условные функции ((request) -> {})
- **Типы**: типы HTTP-акцепта
get("/books/:author", (request, response) -> { return "hello sardine"; });
post("/book", (request, response) -> { return "ok"; });
put("/books/:id", (request, response) -> { return "updated"; });
delete("/books/:id", (request, response) -> { return "deleted"; });
// TODO
введение в RESTful методы
### Параметры
### Именованные параметры
### Диктаторские параметры
### Запросные параметры
### Условия
Функции условий
get("/hello", request -> "127.0.0.1".equals(request.ip()), (request, response) -> { return "hello sardine."; });
### Запрос
request.host(); request.port(); request.method(); request.path(); request.scheme(); request.contentType(); request.accept(); request.ajax();
request.headers(); request.headers("foo");
request.cookies(); request.cookies("name");
request.params(); request.params("foo"); request.paramsOptional("foo"); request.paramsOrElse("foo");
request.splats(); request.splatsAsList(); request.splatsFirst(); request.splatsLast();
request.queryParams(); request.queryParams("foo"); request.multiQueryParams("foo");
request.body(); request.bodyAsBytes(); request.bodyLength();
### Ответ
response.status( Yöntem 404 ); response.header("foo", "bar"); response.cookie("foo", "bar"); response.contentType("application/json");
response.body(); response.body("вы в порядке?");
response.redirect("/вход"); response.file("/hello.html");
### Остановка
```java
halt();
halt(403);
halt("ты в порядке?");
halt(503, "я тебя понимаю!");
``
### Фильтры
### Перенаправление
### Перезапись
### Исключения
### Статические активы
```java
staticFileLocation("/resources");
externalStaticFileLocation("/var/www/resources");
json
Наиболее простой вариант:
import static sardine.Sardine.*;
public class HelloSardine {
public static void main(String[] args) {
get("/", () -> "привет Sardine.");
}
}
Запустите: http://localhost:9527/
С использованием синтаксического сахара Java 8:
import static sardine.Sardine.*;
public class HelloSardine {
public static void main(String[] args) {
get("/", new HelloSardine()::hello);
}
public String hello() { return "привет Sardine"; }
}
Запустите: http://localhost:9527/
import static sardine.Sardine.*;
public class HelloSardine {
public static void main(String[] args) {
get("/", HelloSardine::hello);
}
public static String hello() { return "привет Sardine"; }
}
Запустите: http://localhost:9527/
Busuanzi: http://busuanzi.ibruce.info
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )