私はこのブログは私に解決するのに長い時間を作った、彼のブログ問題の作品を考え、リンクの問題の前に支払われていないことがわかり、新人は本当に苦労を解決します
のは、いくつかの先進的な消費者を見てみましょう
(A)の生産渡されるクラスへの消費者のアクセスの使用
そうでない場合は(1)小型、新しく建設されたいくつかの回は、クラスファイルのための共通の場所として指定されてinistrltrこの春新しいプロジェクトを作成し、我々はすべてのコース(Javaクラスファイルに配置する生産者と消費者に書き込むことができませんまた)それは面倒何も大きな問題を見つけるが、開発プロセス中にコードのこの冗長な繰り返しが致命的です
次のように共通のコードで指定されたユーザーのJavaクラスを作成することです
パッケージcom.example.common。 パブリック クラスユーザー{ プライベート整数のユーザーID。 プライベート文字列のuserName; パブリック整数getUserId(){ リターンのuserId。 } 公共 ボイドsetUserId(整数USERID){ この .userId = はuserId。 } パブリック文字列getUserName(){ リターンのuserName。 } 公共 ボイドsetUserName(文字列のuserName){ この .userName = userNameに。 } @Override 公衆文字列のtoString(){ 戻り " ユーザー{ " + " はuserId = " +はuserId + " は、ユーザ名=」" + userNameに+ ' \' ' + ' } ' 。 } }
プロジェクトは、クラスファイルの配置されていない限り、うまくクラスの他の一般的なアイテムの使用などに依存しているために彼を追加し、デバッグプロセスでは、このプロジェクトを実行する必要
(2)生産者と消費者のpom.xmlファイルに共通の依存性を追加し、次のコードは、コピーをコピーすることは推奨されていない場合、間違って返す、彼は自分自身の3行をノック
<依存性> <のgroupId> com.example </のgroupId> <たartifactId>共通</たartifactId> <バージョン> 0.0。1 -snapshot </バージョン> </依存関係>
あなたは、生産者と消費者にUserクラスにcommom使用できるように、
(3)中UserControllerでプロデューサー、クラスオブジェクトを返すメソッドを追加する@ RequestMapping(使用する「testPro0を」)、使用しないことを覚え@PostMappingこれはエラー405になり
@RequestMapping(" testPro0 " ) @ResponseBody パブリック(@RequestBodyユーザーユーザ){保存ユーザー user.setUserId(11 )。 リターンユーザー; }
(4)同じ@RequestMappingを使用して、UserControllerでにユーザークラスの生産に消費者を得るために、次のコードを追加する(「testPro0 」)
@RequestMapping(" testPro0 " ) 公衆保存ユーザー(){ ユーザーユーザ = 新しいユーザー(); user.setUserName(" 路明非" ); ユーザーUSER1 = restTemplate.postForObject(" のhttp:// SPRINGCLOUD-USER-REG / testPro0 "。、ユーザー、ユーザークラス)。 リターンUSER1; }
(5)と、プロジェクトを実行し、http://127.0.0.1:8021/testPro0次のように入力し、アドレスバーに表示されます
(5)間違った結論は、このエラースキップを見ていません
このアプリケーションは、のために/エラー明示的なマッピングを持っていないので、あなたが、フォールバックとしてこれを見ています。