Commit 9383f254 authored by linruibiao's avatar linruibiao

接口编写

parent 73362b87
package com.syc.slm.common.core.util;
import com.google.common.collect.Maps;
import com.syc.slm.slmbi.exception.SysException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
/**
* slm-bi
* ServletUtils 工具类
* @author : lin
* @date : 2021-04-13 10:15
**/
public final class ServletUtils {
/**
* 获取HttpServletRequest
* @return request
*/
public static HttpServletRequest getHttpServletRequest() {
RequestAttributes attr = RequestContextHolder.getRequestAttributes();
if(attr==null) {
throw new SysException("无法提取 request");
}
return ((ServletRequestAttributes) attr).getRequest();
}
public static Map<String, String> getHeaderMap(HttpServletRequest request){
Map<String,String> result = Maps.newHashMap();
Enumeration<String> names = request.getHeaderNames();
String name;
while(names.hasMoreElements()){
name = names.nextElement();
String val = request.getHeader(name);
if(StringUtils.isNotEmpty(val)) {
result.put(name, val);
}
}
return result;
}
}
package com.syc.slm.slmbi.entity;
import lombok.Data;
/**
* slm-bi
* 当前用户
* @author : lin
* @date : 2021-04-16 18:30
**/
@Data
public class CurrentUser {
private String uid;
private String appId;
private String platformId;
private String name;
private String token;
}
package com.syc.slm.slmbi.function;
import java.io.Serializable;
/**
* @author lin
* @date 2021/4/1
*/
public interface Function2<T1,T2,R> extends Serializable {
R get(T1 t1, T2 t2);
@SafeVarargs
static <T1,T2>Function2<T1,T2,?>[] of(Function2<T1,T2,?>... funcs){
return funcs;
}
}
package com.syc.slm.slmbi.handler;
import com.syc.slm.common.core.util.R;
import com.syc.slm.slmbi.exception.SysException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
/**
* slm-bi
* 全局业务异常处理
* @author : lin
* @date : 2021-04-16 17:34
**/
@ControllerAdvice
@Slf4j
public class SysExceptionHandler {
/**
* 业务异常
*
* @param e exception
* @return exception
*/
@ExceptionHandler(SysException.class)
@ResponseBody
public R<Object> handleSysException(SysException e, HttpServletRequest request) {
log.info(e.getMsg());
return R.bad(e.getMsg(),e.getDebugMsg());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment