在请求中传入不定长参数实现不同的逻辑处理的解决办法

简介: 在请求中传入不定长参数实现不同的逻辑处理的解决办法

问题描述


有时候我们想在一个请求中传入两种参数来实现不同的逻辑处理,我们可以像下面这样处理。


解决办法


1、首先在请求中写两种参数

2、在方法体的参数中,将不是必须的参数用required = false标记

3、方法中进行不同的处理


样例代码


/**
* 1、传入id -> 直接删除id
 * 2、传入id和nid -> 先把id下的内容移动到nid再删除id
 * @param id
 * @param nid
 * @return
 */
@DeleteMapping( "{/{id},/{id}/{nid}}")
@Operation(summary = "根据id删除")
public R<Boolean> removeByIdTest(@PathVariable String id,@PathVariable(required = false) String nid) {
    if(null == nid){
        //执行参数只有id的逻辑
        return ...
    }else{
        //执行参数有id和nid的逻辑
        return ...
    }
}
相关文章
解决传入的请求具有过多的参数,该服务器支持最多 2100 个参数
解决传入的请求具有过多的参数,该服务器支持最多 2100 个参数
|
5月前
在调用一个函数时传递了一个参数,但该函数定义中并未接受任何参数
在调用一个函数时传递了一个参数,但该函数定义中并未接受任何参数
50 2
|
3月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
44 0
|
3月前
|
C语言
C语言函数传递了指针,值没有被修改的原因及解决方法
C语言函数中传递了指针作为参数,确切来说是传递了指向变量的内存地址作为参数,可经过函数内的修改之后,该指针指向的变量的值为什么不会被修改?就像下方这个函数:
63 1
|
4月前
|
JavaScript 前端开发
get请求包含参数属性为数组
get请求包含参数属性为数组
41 1
|
缓存 NoSQL Java
如何给多参数接口添加缓存(根据方法名字+参数名生成对应的key)
如何给多参数接口添加缓存(根据方法名字+参数名生成对应的key)
135 0
如何给多参数接口添加缓存(根据方法名字+参数名生成对应的key)
|
编译器
详解函数的三种传递方式
详解函数的三种传递方式
123 0
不定长参数作用
不定长参数作用
88 0