1 Star 1 Fork 0

小流氓 / noark-http-demo

加入 Gitee
与超过 1000 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

noark-http-demo

介绍

使用Noark起一个只有HTTP功能的示例

无参示例

@ResponseBody
@GetMapping(path = "/")
public String index() {
    return "welcome to noark http service...";
}

访问:http://127.0.0.1:8080/

响应:

welcome to noark http service...

常规参数示例

@ResponseBody
@GetMapping(path = "/hello.php")
public String hello(@RequestParam(name = "name") String name, @RequestParam(name = "age", required = false, defaultValue = "18") int age) {
    return "hello " + name + ", age=" + age;
}

访问:http://127.0.0.1:8080/hello.php?name=dada

响应:

hello dada, age=18

访问:http://127.0.0.1:8080/hello.php?name=dada&age=123

响应:

hello dada, age=123

注入request对象示例

@ResponseBody
@GetMapping(path = "/hello.aspx")
public String hello(HttpServletRequest request){
    StringBuilder sb=new StringBuilder();
    sb.append("URI:\t\t").append(request.getUri()).append("\n");
    sb.append("method:\t\t").append(request.getMethod()).append("\n");
    sb.append("IP:\t\t").append(request.getRemoteAddr()).append("\n");

    sb.append("parameter----------").append("\n");
    Enumeration<String> names=request.getParameterNames();
    while(names.hasMoreElements()){
        String key=names.nextElement();
        sb.append(key).append("\t\t").append(request.getParameter(key)).append("\n");
    }
}

访问:http://127.0.0.1:8080/hello.aspx?a=1&b=2&c=&ddd

响应:

URI:		/hello.aspx
method:		GET
IP:		127.0.0.1
parameter----------
a		1
b		2
c		
ddd	

注入对象示例

@ResponseBody
@GetMapping(path = "/hello.jsp")
public String hello(@RequestParam(name = "item") SimpleItem item) {
    return "code=" + item.getCode() + ",num=" + item.getNum();
}

这里的SimpleItem为自定义对象,需要为他编写转化器,其实就是写个切割字符串后new个新对象并赋值

@TemplateConverter(SimpleItem.class)
public class SimpleItemConverter extends AbstractConverter<SimpleItem> {

    @Override
    public String buildErrorMsg() {
        return "格式不对噢...例>>道具编号:数量";
    }

    @Override
    protected SimpleItem convert(String value) throws Exception {
        String[] array = value.split(":", 2);
        return new SimpleItem(array[0], Integer.parseInt(array[1]));
    }
}

访问: http://127.0.0.1:8080/hello.jsp?item=qianghuashi:100 响应:

code=qianghuashi,num=100

如果参数是JSON格式的,请看下面的示例

POST请求JSON格式的参数示例

@ResponseBody
@PostMapping(path = "/hello.do")
public String postJson(@RequestParam(name = "code") String code, @RequestParam(name = "num") int num) {
    return "code=" + code + ", num=" + num;
}

请求

HashMap<String, String> requestProperty = MapUtils.of("Content-Type", "application/json");
String result = HttpUtils.post("http://127.0.0.1:8080/hello.do", JSON.toJSONString(new SimpleItem("XXX", 123)), requestProperty);
System.out.println(result);

响应 code=XXX, num=123

这里的头部参数 "Content-Type", "application/json" 这个很重要,是要通知服务器,我使用的是什么格式

最后一种常用的方案,POST的内容是一个JSON

@ResponseBody
@PostMapping(path = "/hello.action")
public String postContent(@RequestBody String jwtToken) {
    return "jwtToken=" + jwtToken;
}

请求

// 这里要注意,请求方的content-type没有才可以使用此方法
HashMap<String, String> requestProperty = MapUtils.of("Content-Type", "");
String result = HttpUtils.post("http://127.0.0.1:8080/hello.action", JSON.toJSONString(new SimpleItem("XXX", 123)), requestProperty);
System.out.println(result);

响应

jwtToken={"code":"XXX","num":123}

最后这个注解需要版本是3.4.4.Final以上噢~~~~

简介

使用Noark起一个只有HTTP功能的示例 展开 收起
Java
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/xiaoe/noark-http-demo.git
git@gitee.com:xiaoe/noark-http-demo.git
xiaoe
noark-http-demo
noark-http-demo
master

搜索帮助