我正在构建一个 Web 服务来支持我正在为我们的校园杂志制作的 Android 电子阅读器应用程序。该服务需要将issue
对象返回给应用程序,每个对象都有一个封面图片和一组要显示的文章。我想对我正在考虑的两种策略提供一些一般性意见,和/或对我遇到的一些问题提供一些具体帮助:
策略 1:拥有 2 个数据库表,
Issues
并且Articles
:该Issues
表仅包含一个int id
,varchar name
和varchar imageURI
。Articles
包含更多列(标题、内容、简介等),每篇文章位于单独的行中。其中一列是issueID
,它指向文章所属的问题。当请求第 n 个问题时,服务首先从Issues
表中提取其数据并使用它来创建一个新的问题对象。构造函数将 new 实例List<Article>
化为实例变量,并通过从Articles
桌子。我无法弄清楚这个选项究竟是如何在单个端点上执行它,因此应用程序只需创建一个 HTTP 连接即可获得解决问题所需的一切(或者这不像我认为的那么重要是?)。有一个
Issues
包含 、 和 列的id
表name
,imageURI
以及大量附加text Article1... text Article40
列。文章在上传到服务器之前被打包成JSONObjects,这些JSONObjects(会很长)直接存储在数据库中。我担心的是文本文件会太长,而且我怀疑这种策略不符合最佳实践(尽管我无法解释为什么......)
另外,这是我的第一个 Web 服务,并且考虑到上面指定的要求,是否建议使用 Spring(或其他)框架,或者我最好只使用 JAX-RS?