一、接口测试工具

1、postman下载地址:https://download.csdn.net/download/qq_35792159/11898005

2、谷歌浏览器插件:https://www.cnblogs.com/guohu/p/11111911.html

二、第一次测试成功

  1、模仿系统的登录接口,在登陆成功页面的F12查看接口地址

  2、在postman里测试,发现返回的是jsp页面,本来想偷懒不用写接口的,看来还是需要自己写。

  3、于是模仿系统里的登录接口,根据客户要求的字段写了一个简单的登陆接口,结果在访问的时候被拦截了

  4、在JEECG的官方文档的疑难解答里有排除拦截的设置:http://www.jeecg.org/forum.php?mod=viewthread&tid=1830&extra=page%3D1

  在spring-mvc.xml中以下位置添加了自己的地址:

  然后就可以使用http://localhost:8080/项目名/appController.do?appLogin&参数测试成功了

三,出现问题,修改再次测试

  在我请求网址里,方法是以参数的形式请求的,给客户测试是发现无法请求成功。再看看以前别人给自己的接口中好像都是http://localhost:8080//app/method这种的

  1、研究@RequestMapping

  开发者需要在控制器内部为每一个请求动作开发相应的处理方法。org.springframework.web.bind.annotation.RequestMapping 注解类型指示Spring用哪一个类或方法处理请求动作,该注解可用于类和方法。
  @RequestMapping可以用来注释一个控制器类,在这种情况下,所有方法都将映射为相对于类级别的请求,表示该控制器处理的所有请求都被映射到value属性所指示的路径下 参数参数

  参数介绍参考网址:https://blog.csdn.net/qq_36285124/article/details/54289312

  我只用到了value和params两个参数,所以就记录下这两个吧。

  •   value的使用
@RequestMapping(value="list")
public String getEmployeeData(ModelAndView mav,HttpServletRequest request,HttpServletResponse response){
System.out.println("============");
return "test";
}

  访问的地址可以是/xx项目名/xxcontroller名/list

  • params的使用
@RequestMapping(value="list",params="one",method=RequestMethod.GET)
public String getEmployeeData(ModelAndView mav,HttpServletRequest request,HttpServletResponse response){
System.out.println("============");
return "test";
}

  这种方式如果两个方法的value值相同,只需要加上参数one即可区别,访问的地址为/xx项目名/xxcontroller名/list?one

  或者

@RequestMapping(params="list",method=RequestMethod.GET)
public String getEmployeeData(ModelAndView mav,HttpServletRequest request,HttpServletResponse response){
System.out.println("============");
return "test";
}

  这种方式要访问该方法的地址为:/xx项目名/xxcontroller名?list,没错,这里没有方法名,list只是参数。

  2、一开始以为换了参数使用value,还是像之前的配置呢样配置过滤,结果却发现不管怎么配置,都是无法找到网页。

  3、请教了一个使用这个框架很熟练的大神,才知道应该在web.xml中配置

 <!-- API开放接口配置 -->
<servlet>
<servlet-name>APISpringMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>APISpringMvc</servlet-name>
     <url-pattern>/appController/*</url-pattern>
</servlet-mapping>

  备注:最好不要用<url-pattern>/</url-pattern>,可能会导致其他页面被拦截

  4、测试源码:

@Controller
@RequestMapping("/appController")
public class AppController { // 设置方法下的子路经 @JAuth(auth=Permission.SKIP_AUTH)//放开权限 @RequestMapping("/method") @ResponseBody
public String helloworld() { return "helloWorld"; }
}
  • 请求网址:http://localhost/项目名/appController/method
  • @JAuth(auth=Permission.SKIP_AUTH)的作用是设置不让系统拦截请求
  • @ResponseBody 的使用和不使用的区别:不使用的话只能返回界面,无法返回数据,像例子中的请求是无法返回的。

四、拓展

1、@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

2、使用框架时,在web.xml中配置servlet时,拦截请求/和/*的区别。

3、Java测试接口,参数为对象的简单测试方式   (这个我一开始有用过,但是后来发现好像不用也可以直接传参数,留着下次看)

4、@ResponseBody是干嘛的,作用是什么?

												

jeecg的开发api接口之旅(http)的更多相关文章

  1. 智表ZCELL产品V1.4.0开发API接口文档 与 产品功能清单

    为了方便大家使用ZCELL,应网友要求,整理编写了相关文档,现与产品一起同步发布,供大家下载使用,使用过程中如有疑问,请与我QQ联系. 智表(ZCELL)V1.4.0版本  功能清单文档下载地址: 功 ...

  2. php开发api接口

    做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨 ...

  3. 简单天气应用开发——API接口

    寒假回家无事,想到自学iOS开发已有一段时间,还没做过真正自己的应用,就起了做一个天气预报App的念头. 想到就做.天气预报第一步自然是找到好用的API接口来获取天气信息.在百度上搜索了一圈,找到的都 ...

  4. PHP开发api接口安全验证

    php的api接口 在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道 ...

  5. 个人微信号二次开发SDK协议,个人微信号二次开发api接口

    通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ...

  6. 个人微信二次开发API接口

    通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ...

  7. PHP开发api接口安全验证的实例,值得一看

    php的api接口 在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道 ...

  8. 没想到吧,Java开发 API接口可以不用写 Controller了

    本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便 ...

  9. PHP开发api接口安全验证方法一

    前台想要调用接口,需要使用几个参数生成签名.时间戳:当前时间随机数:随机生成的随机数 签名:特定方法生成的sign签名 算法规则在前后台交互中,算法规则是非常重要的,前后台都要通过算法规则计算出签名, ...

随机推荐

  1. PAT 甲级 1079 Total Sales of Supply Chain (25 分)(简单,不建树,bfs即可)

    1079 Total Sales of Supply Chain (25 分)   A supply chain is a network of retailers(零售商), distributor ...

  2. Servlet2.5版本和Servlet3.0版本

    在学习这节之前你需要在你自己的电脑进行如下配置: 配置Java运行环境:JDK+JRE的安装配置,参考博客Windows下配置Java开发环境: 安装Eclipse:参考博客Windows下配置Jav ...

  3. babelrc笔记

    Babel默认只是转换新的语法(简单转换语法糖),如箭头函数等,但不会转换新的API,如Iterator.Generator.Set.Maps.Proxy.Reflect.Symbol.Promise ...

  4. FDD与TDD的区别

    LTE通常分为FDD LTE和TDD LTEFDD,频分双工(Frequency Division Duplexing)我和你通信,像广播一样,只能我说你听,是单工:像对讲机一样,同一时间只能一方说, ...

  5. SQL中EXPLAIN命令详解---(转)

    MySQL Explain详解   在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQ ...

  6. java8新特性(2)--接口的默认方法

    1.默认方法的定义和作用 在Java8以前的版本中,由接口定义的方法是抽象的,不包括方法体.JDK8版本的发布改变了这一点,其中给接口添加了一个新的功能:默认方法.默认方法允许为接口方法定义默认实现. ...

  7. Numpy中矩阵和数组的区别

    矩阵(Matrix)和数组(Array)的区别主要有以下两点: 矩阵只能为2维的,而数组可以是任意维度的. 矩阵和数组在数学运算上会有不同的结构. 代码展示 1.矩阵的创建 采用mat函数创建矩阵 c ...

  8. python3与Excel的完美结合

    https://segmentfault.com/a/1190000016256490 Excel 是 Windows 环境下流行的.强大的电子表格应用.openpyxl 模块让 Python 程序能 ...

  9. Jmeter参数化(_csvread函数、CSV Data Set Config)

    方法一.Jmeter自带的函数助手——_CSVRead函数 1.数据准备:先在excel存储数据,保存格式选择csv格式.或在记事本存储数据,列之间用英文逗号分隔,保存为txt 2.使用_csvrea ...

  10. Ted演讲 The secrets of learning a new language

    第一次写这么多英文~~对照双语字幕整理的~~ 这是我很喜欢的一个演讲~~ 让我们一起学英文吧 l  I love learning foreign languages. l  In fact, I l ...