1. 程式人生 > >【Restful介面】restful介面的兩種使用方式

【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外掛來進行測試的.