!
после соответствующего URL интерфейса. Например, если маршрут интерфейса /test
, то документация доступна через /test!
.Скачать## Обновление до последней версии VoovanServer и изменение конфигурационного файла web.json
// Конфигурационный файл: conf/web.json
"Modules": [
{
"Name": "Модуль Vestful", // Название модуля
"Path": "/vestful", // Путь модуля
"ClassName": "org.voovan.vestful.RestfulModule" // Класс обработчика модуля
}
]
```### Два. Создание бизнес-классов
#### Описание аннотаций:
- Аннотация Restful
- Способ использования: применяется к методам.
- Параметры:
- method / тип HTTP запроса. Например: GET, POST, PUT и т.д.
- desc / описание метода.
- Аннотация Param
- Способ использования: применяется к параметрам методов.
- Параметры:
- name: имя параметра.
- desc: описание параметра.
- Пример использования аннотаций:
```java
// Класс: org.voovan.test.restful.TestClass.java
// Метод с аннотацией
@Restful(method = "LOCK", desc = "Это описание метода. тестовый параметр типа float")
public static TestResult testWithReturnObject(
@Param(name = "test1", desc = "Имя параметра test1, тип String") // Аннотация параметра
String test1,
@Param(name = "test2", desc = "Имя параметра test2, тип int") // Аннотация параметра
int test2){
return new TestResult(test1, test2);
}
------------------------------------------### Три. Изменение конфигурационного файла
conf/vestful.json
.Добавьте следующий контент в конфигурационный файл:
// Конфигурационный файл: conf/vestful.json
[
{
"name": "тест",
"route": "/тест",
"classPath": "org.voovan.test.restful.TestClass", // Бизнес-класс, созданный в предыдущем шаге
"desc": "это тестовый интерфейс."
}
]
Класс и тестовая страница: http://x.x.x.x/vestful/test!
Vestful
— это путь доступа к модулю, конфигурированный в web.json.test
— это маршрут текущего класса, конфигурированный в vestful.json.Описание метода класса и тестовая страница: http://x.x.x.x/vestful/test/testWithObject!
Vestful
— это путь доступа к модулю, конфигурированный в web.json.test
— это маршрут текущего класса, конфигурированный в vestful.json.testWithObject
— имя метода внутри класса.Выше приведено базовое предоставление RESTful сервиса. Ниже будет рассмотрено, как выполнять операции с объектами Java на сервере через JavaScript на клиентской стороне.
// Конфигурационный файл: conf/vestful.json [ { "name": "DirectObject", "route": "DirectObject", "classPath": "org.voovan.vestful.entity.DirectObject", "desc": "RESTful API для DirectObject", "params": { // Это полный путь к этому сервису (путь модуля Vestful в web.json + путь маршрута текущего класса) // В данном случае в web.json указан путь "/", а для текущего класса — "DirectObject". Поэтому доступ осуществляется по пути /DirectObject. "route": "DirectObject", // Этот параметр контролирует возможность вызова класса из JavaScript на клиентской стороне // Только те классы, которые указаны в этом списке, могут быть вызваны из JavaScript. "classControl": [ "java.util.ArrayList", "org.voovan.test.vestful.*" ], // Определение псевдонимов для классов "alias": { "OVTV": "org.voovan.test.vestful.TestClass" }, // Управление временем жизни объекта, единицы измерения: секунды "objectAliveTime": 60 } } ]
Импорт Java-класса в JavaScript на странице:
```html
<script lang="javascript" src="/DirectObject/genScript/java.util.ArrayList"></script>
route
конфигурационного файла conf/vestful.json
для класса org.voovan.vestful.entity.DirectObject
. Добавление genScript
в конце пути для представления динамически сгенерированного скрипта серверной части.
Например:
Конфигурация примера: "route": "DirectObject"
Тогда путь к JavaScript будет выглядеть так: /DirectObject/genScript/полное_имя_класса_или_его_синоним_может_быть_использован_для_внесения_объекта_на_страницу
.Использование Java-классов на странице:
// Для более подробной информации обратитесь к WEBAPP/test.html
<script lang="javascript">
var arrayList1 = new java.util.ArrayList();
arrayList1.add("aaaa");
var arrayList2 = new java.util.ArrayList();
arrayList2.add("bbbb");
// Поддержка взаимной ссылки объектов Java, созданных на клиентской стороне
arrayList1.addAll(arrayList2);
// Вручную освобождает объекты; если это не сделано, они будут освобождены согласно времени жизни, указанному в конфигурационном файле
arrayList1.release();
arrayList2.release();
</script>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )