Java后端处理前端Tab选项传递的多个键值对参数
前端通过Tab选项卡传递多个键值对参数到Java后端,实现高效数据获取。本文提供一种基于JSON格式传递参数和Java枚举类处理参数的方案。
Java枚举类定义键值对
首先,使用Java枚举类定义前端可能传递的键值对:
public enum DatePeriodEnum { WEEK("week", "7"), MONTH("month", "30"), QUARTER("quarter", "90"), HALFYEAR("halfyear", "180"), YEAR("year", "365"); private final String code; private final String value; DatePeriodEnum(String code, String value) { this.code = code; this.value = value; } public String getCode() { return code; } public String getValue() { return value; } }
前端参数传递 (JavaScript)
前端使用JavaScript将参数以JSON格式传递给后端:
const params = { datePeriod: "week", otherParam: "someValue" // 可以添加其他参数 }; fetch('/getData', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(params) }) .then(response => response.json()) .then(data => { // 处理后端返回的数据 });
Java后端参数接收与处理
后端接口使用@RequestBody注解接收JSON数据:
@PostMapping("/getData") public ResponseEntity<String> getData(@RequestBody Map<String, String> params) { String datePeriodCode = params.get("datePeriod"); for (DatePeriodEnum periodEnum : DatePeriodEnum.values()) { if (periodEnum.getCode().equalsIgnoreCase(datePeriodCode)) { // 处理匹配到的键值对 String value = periodEnum.getValue(); // ... 使用 value 进行后续操作 ... return ResponseEntity.ok("Data processed successfully: " + value); } } return ResponseEntity.badRequest().body("Invalid datePeriod code"); }
此方法使用Map
通过以上步骤,即可实现前端Tab选项传递多个键值对参数到Java后端,并进行高效处理。 记住根据实际情况调整枚举类和后端处理逻辑。