CarController.java
package cn.tedu.controller;
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController//接受请求,并把json数据返回
@RequestMapping("car")//规定了url地址的写法
public class CarController {
//springmvc框架解析请求中的参数
@RequestMapping("get5")
//http://localhost:8091/car/get5?id=10&name=BMW&price=9.9
public void get5(Car c){//springmvc框架会把请求的参数,封装给car对象
System.out.println(c.getId()+c.getName()+c.getPrice());
}
//http://localhost:8091/car/get4?id=10&name=BMW
@RequestMapping("get4")
public void get4(Integer id,String name){
//id是用来接受url里id的值,name用来接受url里name的值
System.out.println(id+name);
}
//http://localhost:8091/car/get3?id=10
@RequestMapping("get3")
//public void get3(int id){//参数是基本类型,访问这个方法必须带参数,否则有异常
public void get3(Integer id){//参数是引用类型,访问这个方法没带参数就是null
System.out.println(id);
}
//自己解析请求中的参数
public void get2(){
String url="http://localhost:8091/car/get2?id=10&name=BMW&price=9.9";
String[] s = url.split("\\?")[1].split("&");
for(String ss:s){
String key=ss.split("=")[0];
String value=ss.split("=")[1];
}
}
public Car get(){
Car c = new Car(10,"BMW",19.9);
return c;
}
}
CarController2.java
package cn.tedu.controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/*对比请求参数的不同获取方式*/
@RestController
@RequestMapping("car2")
public class CarController2 {
//1普通的get方式获取请求参数
//http://localhost:8091/car2/get?id=10&name=BMW&age=10&sex=1
@RequestMapping("get")
public String get(Integer id,String name,Integer age,Integer sex){
//return id+name+age+sex;
//return id+name+age+sex;//组织成json串给浏览器展示
return "{"+"id"+":"+id+"}";//{id:10}
}
//2.restful方式获取请求参数:通过{}绑定地址中参数的位置+通过注解获取{???}的值
//restful简化get提交的数据的写法
//http://localhost:8091/car2/get2/10/BMW/10/1
@RequestMapping("get2/{id}/{name}/{x}/{y}")
public void get2(@PathVariable Integer id,
@PathVariable String name,
@PathVariable String x,
@PathVariable Integer y ){
System.out.println(id);
System.out.println(name);
System.out.println(x);
System.out.println(y);
}
}