【问题标题】:Using objectory with ForceFrameworkMvc将对象与 ForceFrameworkMvc 一起使用
【发布时间】:2014-12-11 19:00:12
【问题描述】:

我正在使用dart-forcemvc_rest 将请求路由到我的服务器并提供 json 作为响应。 今天我开始使用objectory 来查询我的 mongo db 上的数据。 这很棒!我可以创建模型来查询我的集合,并将这些模型与在我的数据库上获取的属性一起使用。 这是我的模型

part of bookshelf; 

class user extends PersistentObject with Jsonify{

  String get username => getProperty(username);
  set username(value) => setProperty(username,value);

  String get email => getProperty(email);
  set email(value) => setProperty(email,value);
}

void registerClasses() {
    objectory.registerClass(user,()=>new user(),()=>new List<user>());
}

这是我的控制器

part of bookshelf;

@Controller
class BookController {

  @Autowired
  Objectory db;


  @RequestMapping(value: "/user",method: RequestMethod.GET)
  Future countJson(req) {
    db.initDomainModel().then((_){
      return db[user].findOne();
    }).then((items){
          req.async(items);
    });
    return req.asyncFuture;
  }
}

这使用异步控制器功能,但是当我调用/user 时看不到任何响应,我在浏览器上只看到{}

我不明白问题出在哪里。有人帮帮我吗?

【问题讨论】:

    标签: mongodb dart dart-async dart-force-mvc


    【解决方案1】:

    要在最基本的层面上回答您的问题,我相信 jsonify 包只是不要将 setter/getter 对视为类变量的有效替代。看一下它的源码:https://github.com/jorishermans/jsonify/blob/master/lib/src/jsonify_base.dart#L26

    在另一个层面上——也许在一个项目中拥有两个完全不同的持久性中间件层(即 objectory 和 jsonify)并不是一个好主意。 Objectory 有它自己的统一的客户端/服务器通信方法——目前它假定使用 web 套接字和 bson 传输。 (在这方面,在服务器端使用反对是微不足道的)。请参阅包本身中的简单 Web 示例或(有些过时的)完整堆栈应用程序示例,网址为 https://github.com/vadimtsushko/angular_objectory_demo。 如果您更喜欢使用 RESTFULL api 和 json 作为传输方式,例如 https://github.com/luizmineo/redstone_mapper_mongo 可能更适合您。

    另一方面,我认为将objectory 客户端(带有json 传输)的RESTFULL 变体实现为shelf 插件或类似的东西会很好。什么时候/如果我有空闲时间,我会看看 - 最初这似乎是一项微不足道的任务,但谁知道......

    【讨论】:

      【解决方案2】:

      我认为您需要将“req.async”设置为 html 文件的名称(减去“.html”)。此外,在控制器中传递模型参数。在正文中,将数据作为 model.addAttribute('book', items); 发送...或任何其他字符串。在 HTML 文件中,将 {{book}}(或您在 addAttribute 中使用的任何字符串)放在要显示数据的位置。希望对您有所帮助!

      【讨论】:

      • 我只是想到了别的东西。您可能还希望在您的退货声明之前包含model.addAttribute("status", "ok");
      猜你喜欢
      • 2016-05-24
      • 2012-05-21
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多