java 接收前台传入map,Controller方法Map接收不到前端传来的参数?

JAVA做后端,框架是Spring + SpringBoot + MyBatis,小程序我是这么请求的

wx.request({

url: 'http://localhost:8080/form/getFormsByParam',

method: 'POST',

data: {

state: currentTab,

userId: openid

},

success: function (res) {

var data = res.data.data;

}

})

JAVA后端的代码是这样的...

@RequestMapping(value = "/getFormsByParam")

@ResponseBody

public ServerResponse getFormsByParam(Map map){

if(map == null){

return ServerResponse.createBySuccess();

}

System.out.println(map.toString());

List

forms = formService.getFormsByParam(map);

return ServerResponse.createBySuccess(forms);

}

map打印是出来总是 {},这是怎么回事?

如果加上注解,小程序会报请求400,而且明明已经制定POST,但请求还是GET

getFormsByParam(@RequestBodyMap map)

如果小程序改header格式也不能,json那些都试过....所以要怎么解决?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SpringMVC框架中,Controller层的参数可以分为以下几种类型: 1. HttpServletRequest/HttpServletResponse HttpServletRequest对象封装了客户端的请求信息,如请求头、请求参数等;HttpServletResponse对象封装了服务器响应信息,如响应头、响应状态码等。 2. Model/Map/ModelAndView Model是SpringMVC框架中用于传递数据到View层的对象,存储在其中的数据可以在View层中获取并渲染到页面上;Map也可以用于存储数据,但是需要手动创建并传入;ModelAndView是Model和View对象的组合,可以同时设置数据和返回的视图。 3. @RequestParam @RequestParam注解用于将请求参数绑定到方法参数上,可以指定参数名、是否必须、默认值等属性。 示例代码: ``` @RequestMapping("/test") public String test(@RequestParam("paramName") String paramValue) { // 处理业务逻辑 return "viewName"; } ``` 4. @PathVariable @PathVariable注解用于从URI中获取参数值,可以将URI中的占位符映射到方法参数上。 示例代码: ``` @RequestMapping("/test/{paramName}") public String test(@PathVariable("paramName") String paramValue) { // 处理业务逻辑 return "viewName"; } ``` 5. @RequestBody @RequestBody注解用于将请求体中的数据绑定到方法参数上,适用于接收JSON、XML等格式的数据。 示例代码: ``` @RequestMapping("/test") public String test(@RequestBody User user) { // 处理业务逻辑 return "viewName"; } ``` 以上是常见的几种Controller层的参数类型,根据具体的业务需求和场景可以灵活地选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值