【Restful接口】restful接口的兩種使用方式


        小編最近的項目是好幾個團隊的一塊合作,由於項目大,功能多,各個團隊負責的東西不同,我的團隊除了自己的開發前端和后端外,還負責給別的團隊提供后端支持,在這里就用上了restful接口.

         小編剛開始都是本本分分的做着自己的dubbo接口,后來被分了幾個restful接口,之前沒有寫過restful接口,別人給講了講以后開始寫dobbo接口的旅程.

為什么用restful接口?

怎么用呢?

restful接口常用的兩種方式是get和post.下面簡單介紹一下這兩種方式的使用.

由於調用restful接口是通過url的方式來訪問后端的代碼.新建CustRegisterApi類以后,除了基本的注入外,還需要配置url的地址.以后的demo就在這個類里面寫了.

<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>
1:get方式,url地址會在地址欄顯示出參數.

<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>
訪問方式:http://localhost:8080(端口號)/模塊名稱/register/checkEmail?email=****


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插件來進行測試的.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM