代码拉取完成,页面将自动刷新
使用Noark起一个只有HTTP功能的示例
@ResponseBody
@GetMapping(path = "/")
public String index() {
return "welcome to noark http service...";
}
响应:
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
@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格式的,请看下面的示例
@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" 这个很重要,是要通知服务器,我使用的是什么格式
@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以上噢~~~~
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。