一,無參接口:
//無參接口 @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"; } }