tansci-boot/magic-script-skill/references/http-module.md

98 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HTTP模块
## 模块说明
`http`模块是基于`RestTemplate`封装而来,目前只做了少量的封装。对于一些通用的配置可以使用自定义`RestTemplate`来实现
```java
@Bean
public HttpModule magicHttpModule() {
RestTemplate template = new RestTemplate();
// 对RestTemplate进行配置.
return new HttpModule(template);
}
```
## 引用模块
```javascript
import http;
```
## connect
- 入参:`url`:`string`
- 返回值:`HttpModule`
- 函数说明创建新的http请求对象
```javascript
import http;
http.connect("http://localhost:9999/sql/select")
```
## 设置URL参数、表单参数、Header
```javascript
import http;
http.param('url_param1','url_param_value1') // 设置URL参数
.param({ // 批量设置URL参数
url_param_2 : 2,
url_param_3 : 3,
})
.data('form_param1','form_param_value1') // 设置表单参数
.data({ // 批量设置表单参数
form_param_2 : 2,
form_param_3 : 3,
})
.header('header_param1','header_param_value1') // 设置header参数
.header({ // 批量设置header参数
header_param_2 : 2,
header_param_3 : 3,
})
```
## body
- 入参:`body`:`Object`
- 函数说明设置请求Body
```javascript
import http;
http.connect('..').body({
id: 1,
name: 'magic-api'
});
```
## entity
- 入参: `entity`: `HttpEntity`
- 函数说明:自定义`HttpEntity`
```javascript
import http;
http.connect('..').entity(entity)
```
## contentType
- 入参: `contentType`: `String`或`MediaType`
- 函数说明:定义请求内容类型
```javascript
import http;
http.connect('..').contentType('application/json')
```
## 请求方法
- `post()` - POST请求
- `get()` - GET请求
- `delete()` - DELETE请求
- `put()` - PUT请求
- `head()` - HEAD请求
- `patch()` - PATCH请求
- `options()` - OPTIONS请求
- `trace()` - TRACE请求
## execute
- 返回值:`ResponseEntity`
- 函数说明:执行对应的请求
```javascript
import http;
return http.connect('http://localhost:9999/sql/select').post().getBody()
```