gpt4 book ai didi

java - 使用 Play Framework 获取请求参数?

转载 作者:IT老高 更新时间:2023-10-28 20:26:28 25 4
gpt4 key购买 nike

我正在学习游戏框架,并了解我可以将 /manager/user 等请求映射为:

  GET      /manage/:user    Controllers.Application.some(user:String)

如何映射像 /play/video?video_id=1sh1 这样的请求?

最佳答案

你至少有两种可能,我们称它们为 approach1approach2

  1. 在第一种方法中,您可以使用一些默认值声明路由参数。 0 是很好的候选,因为在它之上构建一些条件是最容易的。它也是 typesafe,并预先验证自身。一开始我会推荐这个解决方案。
  2. 第二种方法直接从请求中读取参数作为 String,因此您需要将其解析为整数并在需要时额外进行验证。

路线:

GET     /approach1      controllers.Application.approach1(video_id: Int ?=0)
GET /approach2 controllers.Application.approach2

行动:

public static Result approach1(int video_id) {
if (video_id == 0) return badRequest("Wrong video ID");
return ok("1: Display video no. " + video_id);
}

public static Result approach2() {
int video_id = 0;

if (form().bindFromRequest().get("video_id") != null) {
try {
video_id = Integer.parseInt(form().bindFromRequest().get("video_id"));
} catch (Exception e) {
Logger.error("int not parsed...");
}
}

if (video_id == 0) return badRequest("Wrong video ID");
return ok("2: Display video no. " + video_id);
}

PS:大声笑我刚刚意识到你想使用字符串标识符...无论如何这两种方法都是相似的:)

关于java - 使用 Play Framework 获取请求参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14843365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com