本文例程下载:https://files.cnblogs.com/files/xiandedanteng/gatling20200428-3.zip

接口控制器代码如下:

请求url和响应都写在了每个接口的注释上。

package com.ufo.gatling.ctrl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.ufo.gatling.entity.Emp;
import com.ufo.gatling.mapper.EmpMapper; @RestController
@RequestMapping("/emp")
public class EmpCtrl {
@Autowired
private EmpMapper empMapper=null; // http://localhost:8080/emp/test
// Hello Gatling
@RequestMapping("/test")
String test() {
return "Hello Gatling";
} // http://localhost:8080/emp/
// [{"id":1,"name":"Andy","salary":10000},{"id":2,"name":"Bill","salary":12000},{"id":3,"name":"Cindy","salary":16000},{"id":4,"name":"Douglas","salary":17500},{"id":5,"name":"Eliot","salary":18000},{"id":6,"name":"Felix","salary":20000}]
@RequestMapping("/")
List<Emp> findAll() {
return empMapper.findAll();
} // http://localhost:8080/emp/findbyid/5
// {"id":5,"name":"Eliot","salary":18000}
@RequestMapping("/findbyid/{id}")
Emp findById(@PathVariable("id") long id) {
return empMapper.findById(id);
} // http://localhost:8080/emp/updateById/1/gatesss/12345
// ok
@RequestMapping("/updateById/{id}/{name}/{salary}")
String updateById(@PathVariable("id") long id,
@PathVariable("name") String name,
@PathVariable("salary") int salary) { Emp emp=new Emp();
emp.setId(id);
emp.setName(name);
emp.setSalary(salary); int changedCount=empMapper.updateById(emp); return changedCount==1?"ok":"ng";
} // http://localhost:8080/emp/deleteById/1
// ok
@RequestMapping("/deleteById/{id}")
String deleteById(@PathVariable("id") long id) {
Emp emp=new Emp();
emp.setId(id);
int changedCount=empMapper.deleteById(emp);
return changedCount==1?"ok":"ng";
} // http://localhost:8080/emp/insert/1/ufo/99999
// ok
@RequestMapping("/insert/{id}/{name}/{salary}")
String insert(@PathVariable("id") long id,
@PathVariable("name") String name,
@PathVariable("salary") int salary) { Emp emp=new Emp();
emp.setId(id);
emp.setName(name);
emp.setSalary(salary); int changedCount=empMapper.insert(emp); return changedCount==1?"ok":"ng";
} // http://localhost:8080/emp/findHighLevelEmps
// [{"id":3,"name":"Cindy","salary":16000},{"id":4,"name":"Douglas","salary":17500},{"id":5,"name":"Eliot","salary":18000},{"id":6,"name":"Felix","salary":20000},{"id":1,"name":"ufo","salary":99999}]
@RequestMapping("/findHighLevelEmps")
List<Emp> findHighLevelEmps() {
return empMapper.findHighLevelEmps();
}
}

--2020-04-28--

给EmpMapper开放Restful接口的更多相关文章

  1. Swagger: 一个restful接口文档在线生成+功能测试软件

    一.什么是 Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 ...

  2. 开放数据接口 API 简介与使用场景、调用方法

    此文章对开放数据接口 API 进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用. 在给大家分享的一系列软件开发视频课程中,以及在我们的社区微信群聊天中,都积极地鼓励大家开 ...

  3. RESTful接口签名认证实现机制

    RESTful接口 互联网发展至今,催生出了很多丰富多彩的应用,极大地调动了人们对这些应用的使用热情.但同时也为互联网应用带来了严峻的考验.具体体现在以下几个方面: 1.     部署方式的改变:当用 ...

  4. RESTful 接口调试分享利器 restc

    这个工具来自于https://elemefe.github.io/restc/  这里对Abp进行了一次封装 1.在项目中添加nuget包 Abp.Web.Api.Restc 2.在项目Abp模块的D ...

  5. RESTful接口设计原则/最佳实践(学习笔记)

    RESTful接口设计原则/最佳实践(学习笔记) 原文地址:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api 1 ...

  6. Apple Watch已向微信开放WatchKit接口?

    Apple Watch在北京时间凌晨1点的苹果发布会上首次对外公布了,一时间applewatch占据了各大媒体.早上也早早地看了相关新闻,其中福布斯中文网的一则消息分外引起@隔壁W叔叔的注意,“苹果同 ...

  7. Swagger+Spring mvc生成Restful接口文档

    简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...

  8. [转]简单识别 RESTful 接口

         本文描述了识别一个接口是否真的是 RESTful 接口的基本方法.符合 REST 架构风格的接口,称为 RESTful 接口.本文不打算从架构风格的推导方面描述,而是从 HTTP 标准的方面 ...

  9. 运用百度开放平台接口根据ip地址获取位置

    使用百度开放平台接口根据ip地址获取位置 今天无意间发现在百度开放平台接口,就把一段代码拿了下来,有需要的可以试试看:http://opendata.baidu.com/api.php?query=5 ...

随机推荐

  1. C#LeetCode刷题之#665-非递减数列( Non-decreasing Array)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3732 访问. 给定一个长度为 n 的整数数组,你的任务是判断在最 ...

  2. Vue 引入指定目录文件夹所有的组件 require.context

    require.context require.context是webpack中用来管理依赖的一个函数,此方法会生成一个上下文模块,包含目录下所有的模块的引用,同构正则表达式匹配,然后require进 ...

  3. MySQL元数据信息

    一.查看数据库清单 show databases; 二.查看数据库下表清单 方法1) show full tables from ${schema名}; 方法2) use ${数据库名}; show ...

  4. TypeScript是什么,为什么要使用它?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://medium.com/swlh/what-is-typescript-bf333e ...

  5. Java中的策略模式,完成一个简单地购物车,两种付款策略实例教程

    策略模式是一种行为模式.用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略. 策略模式也被称作政策模式.实现过程为,首先定义不同的算法策略,然后客户端把 ...

  6. javaSE总结(转+总结)

    一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre. 2,JRE:Java Runtime Environment,java ...

  7. SpringCloudAlibaba-服务网关Gateway

    一:网关简介 在微服务架构中,一个系统会被拆分为很多个微服务.那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用.这样的话会产生很多问 ...

  8. seo快速排名利器之高权重二级域名

    http://www.wocaoseo.com/thread-225-1-1.html        正规的白帽手法优化一个关键词一般都需要两三个月才能把词做上去,但是现在也有一批做网站优化的采取特殊 ...

  9. idea Tomcat部署war和war exploded的区别

    原文地址:https://blog.csdn.net/linjpg/article/details/73322881 在使用IDEA开发项目时,部署Tomcat的时候通常会出现以下情况: 是选择war ...

  10. 使用IDEA创建一个SSM工程(非maven)

    说在前面的话 直到现在从Eclipse向IDEA转的人越来越多,但是IDEA的项目创建让人摸不清头脑,因此这里我创建一个非maven的ssm工程,供大家练练手,进一步的了解IDEA在项目中的使用. 创 ...