0

キャンパス マガジン用に作成している Android 電子書籍リーダー アプリをサポートする Web サービスを構築しています。このサービスは、オブジェクトをアプリに返す必要がissueあります。各オブジェクトには、カバー画像と表示される記事のコレクションが含まれています。私が検討している 2 つの戦略についての一般的な意見、および/またはそれらについて抱えているいくつかの問題についての特定のヘルプが必要です。

  • 戦略 1: 2 つの DB テーブルをIssues持ち、Articles:テーブルには,とIssuesだけが含まれます。より多くの列 (見出し、コンテンツ、宣伝文など) が含まれ、各記事が別の行に表示されます。列の 1 つはで、記事が属する問題を示します。問題番号 n が要求されると、サービスは最初にそのデータをテーブルから取得し、それを使用して新しい問題オブジェクトを作成します。コンストラクターは newをインスタンス変数としてインスタンス化し、一致する issueID を持つすべての記事をint idvarchar namevarchar imageURIArticlesissueIDIssuesList<Article>Articlesテーブル。このオプションで理解できないのは、単一のエンドポイントでそれを実行する方法です。そのため、アプリは問題に必要なすべてのものを取得するために 1 つの HTTP 接続を作成するだけで済みます (または、これは私が考えるほど重要ではありません)。は?)。

  • 、、および列を含む 1 つのIssuesテーブルに加えて、多数の追加の列を作成します。記事はサーバーにアップロードされる前に JSONObjects にパッケージ化され、これらの JSONObjects (非常に長くなります) はデータベースに直接保存されます。ここでの私の心配は、テキスト ファイルが長すぎることです。さらに、この戦略がベスト プラクティスに沿っていないのではないかという疑念が根強く残っています (理由はわかりませんが...)。idnameimageURItext Article1... text Article40

また、これは私の最初の Web サービスであり、上記の要件を考えると、Spring (またはその他の) フレームワークを使用することをお勧めしますか、それとも JAX-RS を使用したほうがよいでしょうか?

4

1 に答える 1

0

ここに2つの質問があります

  1. オブジェクトを JSON に変換し、残りのサービスで公開する方法。
  2. データを保存/取得する方法。

Web サービスを実装するには、Jersey が私のお気に入りのオプションです。これは、JSR 311 (JAX-RS) のオープンソースのリファレンス実装です。さらに、Jersey は Jackson を使用して JSON/Object マッピングを自動的に処理します。

データを保存するには、2番目のオプション...明らかにオプションではありません:)最初のソリューションは実行可能のようです。IMHO、あなたのアプリケーションは小さいように見えるので、JPA/Hibernate などを配置するべきではありません。Issue と Article の間に JOIN を使用して 1 つのリクエストを手動で作成し、リクエストされた Issue を入力してから、Jackson にオブジェクトを自動的に JSON に変換させる必要があります。

于 2013-04-18T19:57:54.900 に答える