【Restful介面】restful介面的兩種使用方式
阿新 • • 發佈:2019-02-02
小編最近的專案是好幾個團隊的一塊合作,由於專案大,功能多,各個團隊負責的東西不同,我的團隊除了自己的開發前端和後端外,還負責給別的團隊提供後端支援,在這裡就用上了restful介面.
小編剛開始都是本本分分的做著自己的dubbo介面,後來被分了幾個restful介面,之前沒有寫過restful介面,別人給講了講以後開始寫dobbo介面的旅程.
為什麼用restful介面?
怎麼用呢?
restful介面常用的兩種方式是get和post.下面簡單介紹一下這兩種方式的使用.
由於呼叫restful介面是通過url的方式來訪問後端的程式碼.新建CustRegisterApi類以後,除了基本的注入外,還需要配置url的地址.以後的demo就在這個類裡面寫了.
1:get方式,url地址會在位址列顯示出引數.<strong><span style="font-size:18px;">@RestController @RequestMapping(value = "/customer/register", produces = { MediaType.APPLICATION_JSON_UTF8_VALUE }) @CrossOrigin(origins = "*") public class CustRegisterApi { @Autowired private HttpServletRequest request; @Autowired private HttpServletResponse response; }</span></strong>
訪問方式:http://localhost:8080(埠號)/模組名稱/register/checkEmail?email=****<strong><span style="font-size:18px;">/** * 檢查郵箱是否已經繫結 * @param email 郵箱 * @return */ @RequestMapping(value = "/checkEmail", method = { RequestMethod.GET }) @ApiOperation(value = "檢查郵箱是否已經繫結") public RestResponse<Boolean> checkEmail(@RequestParam(value = "email") String email) { RestResponse<Boolean> restResponse = null; try { boolean checkIsMailBinding = custService.checkIsMailBinding(email); // restResponse = new RestResponse<Boolean>(RestRespCode.OK, MessageUtil.getMessage(RestRespCode.OK), // checkIsMailBinding); if (checkIsMailBinding == false) { restResponse = new RestResponse<Boolean>(RestRespCode.REGISTER_USERNAME_EXISTED, MessageUtil.getMessage(RestRespCode.REGISTER_USERNAME_EXISTED), null); } else { restResponse = new RestResponse<Boolean>(RestRespCode.OK, MessageUtil.getMessage(RestRespCode.OK), null); } } catch (Exception e) { e.printStackTrace(); restResponse = new RestResponse<Boolean>(RestRespCode.INTERNAL_ERROR, MessageUtil.getMessage(RestRespCode.INTERNAL_ERROR), null); } return restResponse; }</span></strong>
2:post方式,url地址會在位址列不會顯示出引數.
<strong><span style="font-size:18px;">/**
* 修改密碼
* @param memberId 使用者編號
* @param oldPassword 舊密碼
* @param newPassword 新密碼
* @return
* @throws Exception
*/
@RequestMapping(value = "/modifyPassword", method = RequestMethod.POST, consumes = "application/json")
@ApiOperation(value = "修改支付密碼")
public RestResponse<Boolean> changePassword(@RequestBody CaptchaVO captchaVO) throws Exception {
// 驗證舊密碼是否正確
Boolean findPassword = registerService.findPassword(captchaVO.getMemberId(), captchaVO.getOldPassword());
if (findPassword == false) {
return new RestResponse<Boolean>(RestRespCode.PASSWORD_WRONG,
MessageUtil.getMessage(RestRespCode.PASSWORD_WRONG), null);
}
return new RestResponse<Boolean>(RestRespCode.OK, MessageUtil.getMessage(RestRespCode.OK), null);
}</span></strong>
post方式
是通過application/json;charset=utf-8來訪問一級custom的方式來訪問,一般是用於修改密碼或者是不讓別人看到引數的情況下用的post方式.
在測試的時候我是用火狐瀏覽器上的resteasy外掛來進行測試的.