gpt4 book ai didi

Java - ajax 中字符串中的对象

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:17 25 4
gpt4 key购买 nike

我正在建立一个网站,我有几个不同的部分,例如指南电影等。它们都应该有一个“喜欢”按钮。

因此,如果按下“喜欢”按钮,我想增加数据库中的“喜欢”数量。

我有不同的数据库模型,例如 UserGuidesMovies 等,并且我想要一个通用的 AJAX 功能。

这意味着:

如果用户在指南上并按下“喜欢”,我想更新用户指南等上的喜欢整数。

我是这样实现的。

在 AJAX 帖子中,我将类定义为要更新的字符串,例如,如果我想更新 UserGuide,则为 {obj: "UserGuides"}

现在我有一个 AJAX 处理程序来处理我的所有请求。

public static Result like() 抛出 UnknownHostException、MongoException、 DbAuthException {

    Map<String, String[]> map = request().body().asFormUrlEncoded();
String username = map.get("username")[0];
String title = map.get("title")[0];
String obj = map.get("obj")[0];

if (username.equals("") || title.equals("") || obj.equals("")) {
return badRequest();
}
if (obj.equals("UserGuides")) {
ajaxLike(UserGuides.class, new UserGuides(), username, title);
return ok();
}
return badRequest();

所以我检查“类名”是否匹配,如果是,我调用我的通用函数。

if (obj.equals("UserGuides")) {
ajaxLike(UserGuides.class, new UserGuides(), username, title);
}

现在我显然必须为我的所有类(class)执行此操作。但优点是我只需要一个处理程序。

现在我的通用函数看起来像这样

private static <T> void ajaxLike(Class<T> objClass, T obj, String username,
String title) throws UnknownHostException, MongoException,
DbAuthException {

Datastore ds = getDatabase();
Query<T> q = ds.createQuery(objClass).field("title").equal(title);
UpdateOperations<T> submitUpdate = ds.createUpdateOperations(objClass)
.inc("likes");
ds.update(q, submitUpdate);
ds.ensureIndexes();

}
  • atm 工作正常,但这是好的做法吗?

  • 您发现任何潜在错误吗?

  • 有更好的方法吗?

最佳答案

String username = map.get("username")[0];

如果 map 没有用户名,您将在那里得到一个 NPE。其他地方也类似..

关于Java - ajax 中字符串中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323386/

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