【bug】带参数的get、post请求失败

问题一:后台注解问题

@RequestBody

  • Content-Type为application/json, application/xml
  • form-data、x-www-form-urlencoded时候不可用
  • GET请求不能用@RequestBody来接收参数
  • 只有一个参数
  • @RequestBody Map map

application/json时axios使用

import axios from 'axios';
let data = {"code":"1234","name":"yyyy"};	
axios.post(loginUrl, data).then((res) => {}

@RequestParam

  • 可以是多个参数,也可以是一个Map集合
  • GET,POST均可
  • 支持Content-Type: 为 application/x-www-form-urlencodedform-data编码的内容
  • 前端axios的Content-Type为application/json时,可使用以下方式传参
	  const params = new FormData()
      params.append('username', payload.username)
      params.append('password', payload.password)
      axios.post(loginUrl, params).then((res) => {}
  • (@RequestParam Map map)
  • (@RequestParam String param1,@RequestParam String param2)

application/x-www-form-urlencoded时axios使用

import axios from 'axios';
import qs from 'Qs'
let data = {"code":"1234","name":"yyyy"};	
axios.post(loginUrl, qs.stringify({data).then((res) => {}

form-data时axios使用

import axios from 'axios';
let data = new FormData();
data.append('code','1234');
data.append('name','yyyy');
axios.post(loginUrl, data).then((res) => {}

问题二:SQL语句书写问题

记得给字符串变量加单引号

错误写法

String sql = "select hours,num from game_hours_num where class_id=" + class_id+" and day="+day;
System.out.println(sql);
return jdbcTemplate.queryForList(sql);

正确写法

String sql = "select hours,num from game_hours_num where class_id='" + class_id+"' and day='"+day+"'";
System.out.println(sql);
return jdbcTemplate.queryForList(sql);

你可能感兴趣的:(后端,前后台联调get,post,失败)