简单写个请求
package com.example.springdemo.controller;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RequestMapping("/A")
@RestController
public class AbcController {
@PostMapping("/a")
public Map<String, String> a(@RequestBody(required = false) Map<String, String> q) {
q.put("a", "aaa");
return q;
}
@GetMapping("/B")
public String b() {
return "bbb";
}
@GetMapping("/C/{id}")
public String c(@PathVariable String id) {
return "ccc" + id;
}
}
aop然后拿请求的参数及结果
package com.example.springdemo.aop;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.net.http.HttpRequest;
@Component
@Aspect
public class LogAspect {
@Autowired
private HttpSession httpSession;
@Autowired
private HttpServletRequest request;
/**
* 设置操作日志切入点 记录操作日志 在注解的位置切入代码
*/
@Pointcut("execution(* com.example.springdemo.controller.*.*(..))")
public void operLogPoinCut() {
}
@Before("operLogPoinCut()")
public void before(JoinPoint joinPoint) {
System.out.println("before" + joinPoint.toString());
//请求参数
if (joinPoint.getArgs() != null && joinPoint.getArgs().length > 0) {
System.out.println("args" + joinPoint.getArgs()[0]);
}
System.out.println("ip" + request.getRemoteAddr());
System.out.println("url" + request.getRequestURI());
}
@AfterReturning(value = "operLogPoinCut()", returning = "res")
public void after(Object res) {
//返回结果
System.out.println("after" + res.toString());
}
@AfterThrowing(value = "operLogPoinCut()", throwing = "exception")
public void after(JoinPoint joinPoint, Exception exception) {
//返回结果
System.out.println("afterThrowing" + exception.getMessage());
}
}