只要符合RESTFul风格的,都可以叫做使用了RESTFul架构,一般的网站里传数据,都是用的?a=1&b=2.。。如果是RESTFul风格的话,就会是/a/1/b/2。。类似于这样的方式来传数据的,都是RESTFul架构,这么写可能看不懂,就是把传入参数当成路径就是符合RESTFul的架构了!但是这样,有时传参数时,很容易出现多个传参程序是一样的,这个时候,两种方式,一种是把传参的名称改顺序,一种是换请求风格。
传参名称改顺序:传入参数,a=1,b=2 ,一个是website/a/b/1/2 ,一个是website/a/1/b/2。这样就可以传参到不同的函数了!
再举个例子。
@RequestMapping(value = "/show/all/{id}/{name}/{content}",method = RequestMethod.GET)
//也可以写成@GetMapping("/show/all/{id}/{name}/{content}",两个效果是一样的。 //两个一样的声明,会导致程序出错,为了避免这种情况,一般都会用不同的接收方式区分,比如GetMapping和PostMapping public Object show(@PathVariable("id") Integer id,@PathVariable("name") String name, @PathVariable("content") String content){ HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("id",id); hashMap.put("name",name); hashMap.put("content",content); return hashMap; } @PostMapping(value = "/show/all/{id}/{name}/{content}") public Object show1(@PathVariable("id") Integer id,@PathVariable("name") String name, @PathVariable("content") String content){ HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("id",id); hashMap.put("name",name); hashMap.put("content",content); return hashMap; } }
这个例子里,两个请求的地址是一样的,如何知道调用哪个函数呢?就看发出请求的时候,用的是哪种方式请求,请求方式有4种,GetMapping,PostMapping,DeleteMapping,PutMapping。
@GetMapping("get")//只接收get请求(找)
@PostMapping("post")//只接收post请求(增)
@DeleteMapping("delete")//只接收delete请求(删)
@PutMapping("update")//只接收put请求(改)
浙公网安备 33010602011771号