restful @RequestParam 可选,服务中的mock方法使用

2024-10-09 12:31:49 浏览数 (6)

@RequestParam 是一个 Spring MVC 注解,用于将请求参数绑定到你的方法参数上。当你标记一个参数为可选的时候,你可以不提供这个参数,在这种情况下,Spring 将会使用这个参数的默认值,或者如果你没有设置默认值,它会使用参数的类型的默认值(例如,对于一个 int 类型的参数,默认值为 0)。

要将 @RequestParam 标记为可选,你可以设置 @RequestParam 注解的 required 属性为 false。你还可以提供一个 defaultValue 属性,以便在没有提供请求参数时使用默认值。

下面是一个使用 @RequestParam 的例子,其中 name 参数是可选的:

代码语言:javascript复制
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class MyController {
 
    @GetMapping("/greet")
    public String greet(@RequestParam(name = "name", required = false, defaultValue = "World") String name) {
        return "Hello, "   name   "!";
    }
}

在这个例子中,如果没有提供 name 参数,方法将使用默认值 "World"。如果提供了 name 参数,例如 /greet?name=John,方法将返回 "Hello, John!"。

服务中mock方法,用于软件测试接口等用途。

代码语言:javascript复制
@GetMapping("/mock/settlement")
    public ResponseData mockSettlement(@RequestParam("orderNo")String orderNo, @RequestParam(name="pushOrderTime",required = false)String pushOrderTime) throws Exception {
        return ResponseData.success();
    }
    
@GetMapping("/mock/cancel")
    public ResponseData mockCancel(@RequestParam("orderNo") String orderNo, @RequestParam(name="pushOrderTime",required = false)String pushOrderTime) throws Exception {

        return ResponseData.success();
    }

0 人点赞