springboot动态设置@RequestMapping的url请求路径
springboot动态设置@RequestMapping的url请求路径(从配置文件中获取或默认)
controller层
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName TestController
* @Description: TODO
* @Author Jiajiajia
* @Version V1.0
**/
@RestController
public class TestController {
@GetMapping
public String get(){
return "get";
}
@PostMapping
public String set(String name){
return name;
}
}
配置类1
import com.example.demo.controller.TestController;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import java.lang.reflect.Method;
/**
* @ClassName VersionControlRequestMappingHandlerMapping
* @Description: TODO
* @Author Jiajiajia
* @Version V1.0
**/
public class JiaRequestMappingHandlerMapping extends RequestMappingHandlerMapping {
private String getUrl="url/get";//默认的请求url
private String setUrl="url/set";//默认的请求url
@Override
public void afterPropertiesSet() {
super.afterPropertiesSet();
}
@Override
protected RequestMappingInfo getMappingForMethod(Method method, Class handlerType) {
RequestMappingInfo info = super.getMappingForMethod(method, handlerType);
if(handlerType== TestController.class){
if(method.getName().equals("get")){
return RequestMappingInfo.paths(getUrl).build().combine(info);
}else if(method.getName().equals("set")){
return RequestMappingInfo.paths(setUrl).build().combine(info);
}
}
return info;
}
}
配置类2
import org.springframework.boot.autoconfigure.web.servlet.WebMvcRegistrations;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
/**
* @ClassName VersionControlWebMvcConfiguration
* @Description: TODO
* @Author Jiajiajia
* @Version V1.0
**/
@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE)
public class JiaWebMvcConfiguration implements WebMvcRegistrations {
public JiaWebMvcConfiguration(){
System.out.println("VersionControlWebMvcConfiguration");
}
@Override
public RequestMappingHandlerMapping getRequestMappingHandlerMapping(){
return new JiaRequestMappingHandlerMapping();
}
}
private String getUrl="url/get";//get方法默认的请求url private String setUrl="url/set";//set方法默认的请求url
如果原来的**Mapping中已经有路径,那么请求路径就是 **Mapping中的路径+getUrl的路径
默认请求路径可以从配置文件中获取
评论区
请写下您的评论...
猜你喜欢
blog
js获取url路径中的参数
前端(h5)
2575
functiongetQueryValue(key,href){ href=href||window.location.href; varmatch=href.match(newRegExp('[?&]'+key+'=([^&]*)')); returnmatch&&match[1]&&decodeURIComponent(match[1])||''
框架
4428
springboot请求json数据不返回对象的指定字段在实体类的字段上加上注解importcom.fasterxml.jackson.annotation.JsonIgnore;例
ofc
不同路径
official
1007
点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1输入:m=3,n=7
输出:28示例2
blog
maven打包动态替换配置文件的值
框架
2773
maven打包动态替换配置文件的值pom文件添加profilesprofileiddev/idpropertiesprofileActivedev/profileActive
linux系统
2159
查看配置centos7的网络IP地址配置文件在/etc/sysconfig/network-scripts/ifcfg-ens33下输入命令ifconfig查看当前ip地址修改配置输入命令:vim
ofc
二叉树的所有路径
official
1227
径。说明:叶子节点是指没有子节点的节点。示例:输入:1/\23\5输出:["1-2-5","1-3"]解释:所有根节点到叶子节点的路径为:1-2-5,1-3解题思路递归得方式遍历二叉树(深度优先搜索),
算法基础
12803
径,当有类名,方法名匹配时也会出现。所以有时搜索的延时较长。二、idea安装RestfulToolkit插件该插件使用时完全匹配Controller控制层的url路径,不会出现干扰项,所以非常推荐。安装
weblog
1631
在sprongboot项目的resources文件夹下创建banner.txt文件,那么在项目启动的时候就会首先打印banner.txt内的内容。在线制作banner的网站1.https
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。