快捷搜索: 王者荣耀 脱发

GET请求接口规范之编码,转码!!!

总之,在写get请求的接口的时候,一定要记得加上转码这一步,因为,get请求参数是拼接在地址上的,如果拼接进去一些特殊的字符就会报404异常!所以一定要编码后在拼接,这样就不会报404了!既然前端或者浏览器在请求的时候将参数编码了,那么后台就需要解码,具体是什么编码格式,到时候还需要协商。所以,后台要写一个转码工具类,或者配置拦截器,在拦截器里进行转码(目前为止对拦截器转码还不熟,如有幸,请大牛指点)转码工具类如下:
package com.zhh.express.newman.util;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;



/**
 * 编码与解码
 * @author HANWENGANG
 *
 */
public class EncodeAndDecode {
	private static final Logger logger = LoggerFactory.getLogger(EncodeAndDecode.class);  
	/**
	 * 编码
	 * @param str
	 * @param s
	 * @return
	 */
	public static String encode(String parameter,String coded){//parameter---字符串参数,coded---编码格式例如utf-8
		logger.info("--EncodeAndDecode--encode--statr--parameter="+parameter+"--coded="+coded);
		if(StringUtils.isNotBlank(parameter)&&StringUtils.isNotBlank(coded)){
			try {
				parameter = URLEncoder.encode(parameter,coded);
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				logger.error("--EncodeAndDecode--encode--Exception--"+e);
			}
			logger.info("--EncodeAndDecode--encode--end");
		}
		return parameter;
	}
	/**
	 * 解码
	 */
	public static String decode(String parameter,String coded){//parameter---编码后的字符串参数,coded---编码格式例如utf-8
		logger.info("--EncodeAndDecode--decode--statr--parameter="+parameter+"--coded="+coded);
		if(StringUtils.isNotBlank(parameter)&&StringUtils.isNotBlank(coded)){
			try {
				parameter = URLDecoder.decode(parameter,coded);
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				logger.error("--EncodeAndDecode--decode--Exception--"+e);
			}
			logger.info("--EncodeAndDecode--decode--end");
		}
		return parameter;
		
	}
}
顺便将前端的一种编码格式记录了下来:
就这么多,看懂了吗?谢谢观看!如果觉得有用,记得点赞哦!!!
经验分享 程序员 微信小程序 职场和发展