没有合适的资源?快使用搜索试试~ 我知道了~
首页TERASOLUNA Java 开发框架5.3.1指南:架构与安全详解
TERASOLUNA Java 开发框架5.3.1指南:架构与安全详解
需积分: 13 9 下载量 4 浏览量
更新于2024-07-19
2
收藏 34.07MB PDF 举报
"本指南文档是关于TERASOLUNA Server Framework for Java (5.x)的开发指导,由NTTDATA Corporation于2017年11月9日发布,适用于5.3.1.RELEASE版本。该文档旨在提供详尽的开发指引,帮助开发者理解和遵循 TERASOLUNA框架的最佳实践,确保安全、高效地进行Java应用开发。
第1章涵盖了导论部分,介绍了文档的主要内容、读者对象以及阅读指南。章节强调了安全策略映射,将框架的安全性与OWASP(Open Web Application Security Project)原则和CVE(Common Vulnerabilities and Exposures)标准相结合,确保应用遵循最新的安全最佳实践。更新历史也列在这一部分,便于跟踪框架的演变。
第2章深入探讨了TERASOLUNA框架的架构概览。它阐述了框架的整体结构,包括软件框架的关键组件:依赖注入(DI)容器、模型-视图-控制器(MVC)框架、对象关系映射器(O/RMapper)、视图、安全机制、数据验证以及通用库。此外,还详细列出了框架中使用的开源软件版本,并特别提到了terasoluna-gfw系列库,如terasoluna-gfw-common用于核心功能,terasoluna-gfw-validator用于输入验证,terasoluna-gfw-security-web则提供了安全相关的扩展。
章节进一步介绍了Spring框架的整合,说明如何在TERASOLUNA框架内有效利用Spring的功能,以实现更灵活和高效的开发。这部分内容对于熟悉Spring的开发者来说尤为重要,因为它展示了如何在两者之间无缝集成,提升应用程序的性能和可维护性。
这份指南为开发人员提供了全面的开发指南,帮助他们在使用TERASOLUNA Server Framework for Java时,遵循最佳实践,提升代码质量,保障应用程序的安全性和稳定性。通过了解并遵循文档中的内容,开发者能够充分利用该框架的优势,提升开发效率和项目成果的质量。"
Controller の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
HTML5 の multiple 属性を使った複数ファイルのアップロード . . . . . . . . . . . . . 801
フォームの実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
Validator の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
JSP の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
Controller の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
仮アップロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Controller の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
4.9.3 How to extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
仮アップロード時の不要ファイルの Housekeeping . . . . . . . . . . . . . . . . . . . . 810
不要ファイルを削除するコンポーネントクラスの実装 . . . . . . . . . . . . 811
不要ファイルを削除する処理のスケジューリング設定 . . . . . . . . . . . . 812
4.9.4 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
ファイルアップロードに関するセキュリティ問題への考慮 . . . . . . . . . . . . . . . 814
アップロード機能に対する Dos 攻撃 . . . . . . . . . . . . . . . . . . . . . . 814
アップロードしたファイルを Web サーバ上で実行する攻撃 . . . . . . . . . 815
ディレクトリトラバーサル攻撃 . . . . . . . . . . . . . . . . . . . . . . . . . 815
Commons FileUpload を使用したファイルのアップロード . . . . . . . . . . . . . . . . 816
4.10 ファイルダウンロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
4.10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
4.10.2 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
PDF ファイルのダウンロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
カスタム View の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
ViewResolver の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
コントローラでの View の指定 . . . . . . . . . . . . . . . . . . . . . . . . . 825
Excel ファイルのダウンロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
カスタム View の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
ViewResolver の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
コントローラでの View の指定 . . . . . . . . . . . . . . . . . . . . . . . . . 828
任意のファイルのダウンロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
カスタム View の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
ViewResolver の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
コントローラでの View の指定 . . . . . . . . . . . . . . . . . . . . . . . . . 830
4.11 Tiles による画面レイアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
4.11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
4.11.2 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
pom.xml の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
Spring MVC と Tiles の連携 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
4.11.3 How to extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
複数レイアウトを設定する場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
4.12 共通ライブラリが提供する JSP Tag Library と EL Functions . . . . . . . . . . . . . . . . . . . 853
4.12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
JSP Tag Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
EL Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
xiv
4.12.2 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
<t:pagination> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
<t:messagesPanel> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
<t:transaction> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
f:h() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
f:h() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
f:h() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
f:js() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
f:js() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
f:js() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
f:hjs() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
f:hjs() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
f:hjs() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
f:query() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
f:query() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
f:query() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
f:u() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
f:u() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
f:u() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
f:link() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
f:link() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
f:link() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
f:br() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
f:br() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
f:br() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
f:cut() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
f:cut() 関数仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
f:cut() 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
4.13 Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
4.13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
4.13.2 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
アプリケーションの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
Spring MVC の Ajax 関連の機能を有効化するための設定 . . . . . . . . . . 867
Controller の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
データを取得する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
フォームデータを POST する . . . . . . . . . . . . . . . . . . . . . . . . . . 879
フォームデータを JSON として POST する . . . . . . . . . . . . . . . . . . 887
入力エラーのハンドリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
BindException のハンドリング . . . . . . . . . . . . . . . . . . . . . . . . . 890
MethodArgumentNotValidException のハンドリング . . . . . . . . . . . . . 894
HttpMessageNotReadableException のハンドリング . . . . . . . . . . . . . 895
BindingResult を使用したハンドリング . . . . . . . . . . . . . . . . . . . . 896
業務エラーのハンドリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
例外ハンドリング用のメソッドで業務例外をハンドリング . . . . . . . . . . 898
xv
ハンドラメソッド内で業務例外をハンドリング . . . . . . . . . . . . . . . . 899
4.14 ヘルスチェック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
4.14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
ロードバランサの負荷分散と縮退運転 . . . . . . . . . . . . . . . . . . . . . . . . . . 901
ヘルスチェックの種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
本ガイドラインで示すヘルスチェックの構成 . . . . . . . . . . . . . . . . . . . . . . . 904
4.14.2 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
Repository インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
Service クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
Controller クラス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
JSP ファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
アクセス権の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
4.14.3 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
レスポンスのデータ量を最低限にする設定 . . . . . . . . . . . . . . . . . . . . . . . . 910
Apache Tiles の設定を受けないようにする . . . . . . . . . . . . . . . . . . 910
ヘッダファイルやフッタファイルを読み込まないようにする . . . . . . . . . 910
レスポンスから余計な改行を削除する . . . . . . . . . . . . . . . . . . . . . 911
第 5 章 Web Service 913
5.1 RESTful Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
5.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
RESTful Web Service とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
RESTful Web Service の開発について . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
RESTful Web Service のモジュールの構成 . . . . . . . . . . . . . . . . . . . 919
REST API の実装サンプル . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
5.1.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
Web 上のリソースとして公開 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
URI によるリソースの識別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
HTTP メソッドによるリソースの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . 930
適切なフォーマットの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
適切な HTTP ステータスコードの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . 935
ステートレスなクライアント/サーバ間の通信 . . . . . . . . . . . . . . . . . . . . . . 936
関連のあるリソースへのリンク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
5.1.3 How to design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
リソースの抽出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
URI の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
REST API であることを示すための URI の割り当て . . . . . . . . . . . . . 944
API バージョンを識別するための URI の割り当て . . . . . . . . . . . . . . 944
リソースを識別するためのパスの割り当て . . . . . . . . . . . . . . . . . . 945
HTTP メソッドの割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
リソースコレクションの URI に対する HTTP メソッドの割り当て . . . . . 947
特定リソースの URI に対する HTTP メソッドの割り当て . . . . . . . . . . 948
リソースのフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
JSON のフィールド名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
xvi
NULL とブランク文字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
日時のフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
パイパーメディアリンクの形式 . . . . . . . . . . . . . . . . . . . . . . . . . 950
エラー応答時のフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . 950
HTTP ステータスコード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
リクエストが成功した場合の HTTP ステータスコード . . . . . . . . . . . . 952
リクエストが失敗した原因がクライアント側にある場合の HTTP ステータ
スコード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
リクエストが失敗した原因がサーバ側にある場合の HTTP ステータスコード 955
認証・認可 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
リソースの条件付き更新の制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
リソースの条件付き取得の制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
リソースのキャッシュ制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
バージョニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
5.1.4 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
Web アプリケーションの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
pom.xml の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
アプリケーションの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
RESTful Web Service で必要となる Spring MVC のコンポーネントを有効
化するための設定 . . . . . . . . . . . . . . . . . . . . . . . . . 961
RESTful Web Service 用のサーブレットの設定 . . . . . . . . . . . . . . . . 966
REST API の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
REST API 用パッケージの作成 . . . . . . . . . . . . . . . . . . . . . . . . . 973
Resource クラスの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974
Controller クラスの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
リソースのコレクションを取得する REST API の実装 . . . . . . . . . . . . 981
リソースをコレクションに追加する API REST の実装 . . . . . . . . . . . . 989
指定されたリソースを取得する REST API の実装 . . . . . . . . . . . . . . 992
指定されたリソースを更新する REST API の実装 . . . . . . . . . . . . . . 994
指定されたリソースを削除する REST API の実装 . . . . . . . . . . . . . . 996
例外のハンドリングの実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998
レスポンス Body にエラー情報を出力するための実装 . . . . . . . . . . . . 1000
入力エラー例外のハンドリング実装 . . . . . . . . . . . . . . . . . . . . . . 1006
リソース未検出エラー例外のハンドリング実装 . . . . . . . . . . . . . . . . 1013
業務エラー例外のハンドリング実装 . . . . . . . . . . . . . . . . . . . . . . 1017
排他エラー例外のハンドリング実装 . . . . . . . . . . . . . . . . . . . . . . 1018
システムエラー例外のハンドリング実装 . . . . . . . . . . . . . . . . . . . . 1019
ExceptionCodeResolver を使ったエラーコードとメッセージの解決 . . . . . 1021
サーブレットコンテナに通知されたエラーのハンドリングの実装 . . . . . . . . . . . . 1025
エラー応答を行うための Controller の実装 . . . . . . . . . . . . . . . . . . 1027
致命的なエラーが発生した際に応答する静的な JSON ファイルの作成 . . . 1029
サーブレットコンテナに通知されたエラーをハンドリングするための設定 . 1029
セキュリティ対策 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
認証・認可 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
xvii
CSRF 対策 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
リソースの条件付き操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
リソースのキャッシュ制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
5.1.5 How to extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
@JsonView を使用したレスポンスの出力制御 . . . . . . . . . . . . . . . . . . . . . . 1032
5.1.6 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
JSR-310 Date and Time API / Joda Time を使う場合の設定 . . . . . . . . . . . . . . . 1041
RESTful Web Service とクライアントアプリケーションを同じ Web アプリケーショ
ンとして動かす際の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
RESTful Web Service 用の DispatcherServlet を設ける方法 . . . . . . 1041
ハイパーメディアリンクの実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044
共通部品の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044
リソース毎の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
HTTP の仕様に準拠した RESTful Web Service の作成 . . . . . . . . . . . . . . . . . . 1049
POST 時の Location ヘッダの設定 . . . . . . . . . . . . . . . . . . . . . . . 1049
リソース毎の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
CSRF 対策の無効化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
XXE Injection 対策の有効化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
Dozer を使って Joda-Time のクラスをコピーする方法 . . . . . . . . . . . . . . . . . . 1056
アプリケーション層のソースコード . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
MemberRestController.java . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
ApiErrorCreator.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
ApiGlobalExceptionHandler.java . . . . . . . . . . . . . . . . . . . . . . . . 1064
REST API 実装時に作成したドメイン層のクラスのソースコード . . . . . . . . . . . . 1066
Member.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
MemberCredentia.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
Gender.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073
MemberRepository.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
MemberService.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
MemberServiceImpl.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
DomainMessageCodes.java . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
GenderTypeHandler.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
member-mapping.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080
mybatis-config.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
MemberRepository.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
5.2 REST クライアント(HTTP クライアント) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
5.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
RestTemplate とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
HttpMessageConverter . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
ClientHttpRequestFactory . . . . . . . . . . . . . . . . . . . . . . . 1094
ResponseErrorHandler . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
ClientHttpRequestInterceptor . . . . . . . . . . . . . . . . . . . 1096
5.2.2 How to use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
RestTemplate のセットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
xviii
剩余2584页未读,继续阅读
2017-04-10 上传
2020-10-29 上传
2020-06-08 上传
加班狂魔
- 粉丝: 2145
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功