一,无参接口:
//无参接口
@RequestMapping("/appSecret")
public String secret() {
return "EK125EKLNGKNELKGKGNKLEGNK87";
}
访问接口
二,带参接口:
@RequestMapping("/serviceTime") public String time(@RequestParam(value = "local", required = true) String local) { System.out.println("local:"+local); return "2018-8-8 18:36:00"; }
访问接口
三,多参接口
//多参接口,表单 @RequestMapping("/register") public Account register(String username, String password) { Account user = new Account(); user.setUsername(username); user.setPassword(password); return user; }
访问接口
四,json实例对象
//json实体对象 @RequestMapping(value = "/addAccount", method = RequestMethod.POST) public Account addAccount(@RequestBody Account account) { System.out.print(account.getUsername()); return account; }
访问接口:
五,路径参数:
//路径参数 @RequestMapping(value="/searchAccountById/{id}",method = RequestMethod.POST) public String searchAccountById(@PathVariable("id") int id) { return "{id:"+id+"}"; } @RequestMapping(value="/formatDate/{year}-{month}-{day}",method = RequestMethod.POST) public String formatDate(@PathVariable("year") int year, @PathVariable("month") int month, @PathVariable("day") int day) { return year + "年" + month + "月" + day + "日"; }
访问接口
Controller代码:
package com.example.demo.controllers; import com.example.demo.domain.Account; import org.springframework.web.bind.annotation.*; /** * Created by zhang_guang_yang on 2018/11/18. */ @RestController public class UserBusinessController { //无参接口 @RequestMapping("/appSecret") public String secret() { return "EK125EKLNGKNELKGKGNKLEGNK87"; } //带参接口 @RequestMapping("/serviceTime") public String time(@RequestParam(value = "local", required = true) String local) { System.out.println("local:"+local); return "2018-8-8 18:36:00"; } //多参接口,表单 @RequestMapping("/register") public Account register(String username, String password) { Account user = new Account(); user.setUsername(username); user.setPassword(password); return user; } //json实体对象 @RequestMapping(value = "/addAccount", method = RequestMethod.POST) public Account addAccount(@RequestBody Account account) { System.out.print(account.getUsername()); return account; } //路径参数 @RequestMapping(value="/searchAccountById/{id}",method = RequestMethod.POST) public String searchAccountById(@PathVariable("id") int id) { return "{id:"+id+"}"; } @RequestMapping(value="/formatDate/{year}-{month}-{day}",method = RequestMethod.POST) public String formatDate(@PathVariable("year") int year, @PathVariable("month") int month, @PathVariable("day") int day) { return year + "年" + month + "月" + day + "日"; } }
补充: Map类型多参数转换,POST,GET接口的实现:
package com.ams.accountmanagementsystem.controllers;
import com.ams.accountmanagementsystem.models.TestUser;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
public class ApiTest {
// 不带参数
@RequestMapping("/test_no_param")
public String testNoParam() {
return "success";
}
// 带有一个参数
@RequestMapping("/test_param")
public String testParam(@RequestParam String param) {
return "success, the param is: " + param;
}
// 带多个参数
@RequestMapping("/test_multiple_param")
public String testMultipleParam(@RequestParam String name, @RequestParam String password) {
return "success, the name is: " + name + " password is: " + password;
}
// map接受参数
@RequestMapping("/test_param_map")
public String testParamMap(@RequestParam Map map) {
return "success, map: " + map;
}
// path参数
@RequestMapping("/test/{path}")
public String testPath(@PathVariable String path) {
return "success, path: " + path;
}
// post带一个参数
@PostMapping("/test_post_param")
public String postParam(@RequestBody String time) {
return "success, time: " + time;
}
// post带Map参数
@PostMapping("/test_post_map_param")
public String postMapParam(@RequestBody Map map) {
return "success, map: " + map;
}
// post转实体对象
@PostMapping("/test_post_entity")
public String postEntity(@RequestBody TestUser user) {
return "success, entity " + user;
}
// POST GET
@RequestMapping(value = "/test_get", method = RequestMethod.GET)
public String testGetMethod() {
return "get method";
}
@RequestMapping(value = "/test_post", method = RequestMethod.POST)
public String testPostMethod() {
return "post method";
}
@GetMapping("/test_get_method")
public String testGet() {
return "get method";
}
@PostMapping("/test_post_method")
public String testPost() {
return "post method";
}
}