好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

处理@PathVariable注解允许参数为空、允许不传参数的问题

说明

设置可以不传:

但是请求的时候,仍然提示projectid必传:

这是因为url要求带参,属于rest参数。

解决办法

设置多个url path即可,有的传rest参,有的不传。当然required必须是false

这个问题以前解决过,——还是要温习一下比较好呀

补充:接收参数注解@pathvariable 与 @requestparam与 不使用注解接收参数的情况

@requestparam使用场景:

@requestparam: 顾名思义,获取请求参数的

@requestparam的两个属性:value 获取值 , required 为 true 必填

1. 1前端地址情景:

http://localhost:8989/sssp/emps?pageno=2

如果想获取地址中的 pageno的值 ‘2'> ,则使用@requestparam

1.2.前端bootstrap请求情景:

传单个参数:

?

1

queryparams:{id,id} // (此时id已获取到js,如var id = row.id )

传多个参数:

?

1

2

3

4

5

6

queryparams:function(params){

   return {

    type:#(‘type').val,

    accountname:#(‘accountname').val

    }

}

1.3 后台获取上面两种传参方式:

?

1

2

3

4

5

6

7

public object getxifeilist( @requestparam map<string,object> params){

  //使用方式一:使用get([key])获取后使用

  params.get([id]);

  //使用方式二:作为query的参数创建对象,直接使用

  query query = new query(params);

  list<dictdo> dictlist = dictsevice.list(query);

}

@pathvariable使用场景:

@pathvariable:顾名思义,获取url地址中的一部分值

1. 前端地址单参数情景:

http://localhost:8989/sssp/emp/type

如果想获取地址中的 emp/type 中的 ‘type ',则使用@pathvariable

2. 前端地址多参数情景

http://localhost:8989/sssp/emp/7/5

如果想获取地址中的 emp/7/5 中的‘7''5',则使用@pathvariable

3. 后台获取:

接收单个参数

?

1

string addd( @pathvariable ([type]) string type)

接收多个参数

?

1

string addd( @pathvariable ([type]) string type, @pathvariable ([id]) long id)

不使用注解就可以接收参数的情况

情况1. 前端js中发送ajax请求data:{‘id',id}情景:

?

1

2

3

4

5

6

7

8

9

10

remove(id){

  function(){

    $.ajax(){

    url:prefix+]/remove],

    type:]post],

    data:{‘id',id} //ajax使用data传值时使用@pathvariable

    .......

     }

     }

     }

情况1.后台获取:

?

1

public r remove( long id){} // 获取后就可以直接使用

情况2. 前端js中发送ajax请求data: $('#addloanform').serialize()情景:

?

1

2

3

4

5

6

7

8

$.ajax({

  cache: true ,

  type: "post" ,

  url: "/loansign/signproject/creditsave" ,

  data: $( '#addloanform' ).serialize()

 

  //重要:将前台表单中的数据序列化,序列化的内容是name

}

情况2.后台获取:

?

1

public r creditsave( signcreditdo signcredit){} //使用对象接收数据

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/cc007cc009/article/details/108142159

查看更多关于处理@PathVariable注解允许参数为空、允许不传参数的问题的详细内容...

  阅读:52次