博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JEECG-Swagger UI的使用说明
阅读量:6805 次
发布时间:2019-06-26

本文共 3820 字,大约阅读时间需要 12 分钟。

  hot3.png

一.代码生成(此步骤为代码生成器的使用,如不清楚请查阅相关文档视频)

    1.进入菜单【在线开发】-->【Online表单开发】,选中一张单表/主表,点击代码生成按钮。

    2.弹出页面中填写代码生成目录为项目根目录,填写包名,勾选"是否支持Restful"为"是",默认为"否”,如下图

二.swagger-ui 使用,在线调试接口

    1.访问 [此地址根据自己环境而定]

    2.访问【tokenAPI : 鉴权token接口】-->【POST /rest/tokens】,按下图操作

    3.在响应体中获取token

    4.调用接口-创建

    5.查看 接口-创建测试结果

    6.调用接口-分页查询

    7.查看 接口-分页查询 测试结果

    8.其他接口类似,先填写token,再填写相关参数即可测试

三.接口安全,token原理讲解和redis配置

1.机制说明

    基于token的鉴权机制类似于http协议也是无状态的,它不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利

2.基本流程

(1) 用户使用用户名密码来请求服务器

(2) 服务器进行验证用户的信息

(3) 服务器通过验证发送给用户一个token

(4) 客户端存储token,并在每次请求时附送上这个token值(存在head里的参数X-AUTH-TOKEN)

(5) 服务端验证token值,并返回数据

3. redis配置(redis环境搭建参考相关文档/视频)

    JWT 验证token采用redis进行缓存,redis配置文件:src/main/resources/redis.properties, 修改redis对应的IP和端口,如下:

#redisredis.host=124.206.91.99redis.port=6379redis.pass=redis.adapter.maxIdle=100redis.adapter.minIdle=10redis.adapter.testOnBorrow=trueredis.adapter.testOnReturn=trueredis.adapter.testWhileIdle=trueredis.adapter.numTestsPerEvictionRun=10redis.adapter.timeBetweenEvictionRunsMillis=60000

四. 接口本地单元测试(单元测试环境搭建请参考相关文档/视频)

import org.jeecgframework.jwt.util.JwtHttpUtil;import org.junit.Test;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.generator.test.entity.TestSingleEntity;public class RestfulTestSingle{			public String getToken(String userName,String password){		String url = "http://localhost:8080/jeecg/rest/tokens?username="+userName+"&password="+password;		String token= JwtHttpUtil.httpRequest(url, "POST", null);		System.out.println("获取的token为:"+token);		return token;	}	public JSONObject getList(String token){		String url = "http://localhost:8080/jeecg/rest/testSingleController/list/1/10";		JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);		System.out.println(resp.toJSONString());		return resp;	}		public JSONObject delete(String token,String id){		String url = "http://localhost:8080/jeecg/rest/testSingleController/"+id;		JSONObject resp= JwtHttpUtil.httpRequest(url, "DELETE", null,token);		System.out.println(resp.toJSONString());		return resp;	}		public JSONObject create(String token,String json){		String url = "http://localhost:8080/jeecg/rest/testSingleController";		JSONObject resp= JwtHttpUtil.httpRequest(url, "POST", json,token);		System.out.println(resp.toJSONString());		return resp;	}		public JSONObject update(String token,String json,String id){		String url = "http://localhost:8080/jeecg/rest/testSingleController/"+id;		JSONObject resp= JwtHttpUtil.httpRequest(url, "PUT", json,token);		System.out.println(resp.toJSONString());		return resp;	}		public JSONObject get(String token,String id){		String url = "http://localhost:8080/jeecg/rest/testSingleController/"+id;		JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);		System.out.println(resp.toJSONString());		return resp;	}		@Test	public void test(){		String token = "";//getToken调用一次即可将其返回的值保存下来,以便其他接口可调用传参		//getToken("admin", "123456");		//获取列表		//getList(token);				//删除		//delete(token, "4028f6816588914f016588b24a8c0003");				//创建		/*TestSingleEntity entity = new TestSingleEntity();		entity.setName("李四");		create(token, JSON.toJSON(entity).toString());*/				//修改		/*String id = "4028f6816588f200016588f6e2950001";		TestSingleEntity entity = new TestSingleEntity();		entity.setId(id); 		entity.setName("李四4号");		update(token, JSONObject.toJSONString(entity),id);*/				//获取单条记录		/*String id = "4028f6816588f200016588f6e2950001";		get(token, id);*/			}}

五. 前段UI开发如何调用接口

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@include file="/context/mytags.jsp"%>

转载于:https://my.oschina.net/jeecg/blog/1982407

你可能感兴趣的文章
hdu3555
查看>>
注册登录
查看>>
django 基本用法
查看>>
hibernate -- HQL语句总结
查看>>
PowerDesigner跟表的字段加注释
查看>>
Spring JDBC Framework详解——批量JDBC操作、ORM映射
查看>>
Codeforces 894 A B 组合数学 比赛
查看>>
C#后台调用前台javascript的五种方法小结
查看>>
GDB 多线程调试基本命令
查看>>
C++中的友元
查看>>
MySql常用函数
查看>>
移动端 触屏滑动条菜单(完善版 转)
查看>>
可变参数函数的实现
查看>>
ABP官方文档翻译 4.4 授权
查看>>
小程序-提交信息(姓名,电话)
查看>>
Object.defineProperties——MEAN开发后台的Model层
查看>>
Python 学习笔记11 函数模块
查看>>
从C#垃圾回收(GC)机制中挖掘性能优化方案
查看>>
qt cef嵌入web(二)
查看>>
qt捕获全局windows消息
查看>>