2017-03-11 3 views
-1

私はそれを見つけようとしていましたが、多くの異なるシナリオが見つかりましたが、このシナリオは見つかりませんでした。com.myproject.api下のすべてのコントローラに "api"接頭辞を追加するには?

私がしたいのは、com.myproject.api下のコントローラのすべてのルートに "/ api /"プレフィックスを追加することです。 パッケージcom.myapp.apiの下にあるすべてのコントローラには "/ api/*"を、com.myapp.webにはすべてのコントローラのプレフィックスを付けないようにします。

Spring/Spring Bootで可能ですか?

+0

これは同じではありません。 –

答えて

0

既に回答済みherehereです。

は、以下のオプションを使用して、SRC /メイン/リソース下application.propertiesファイルを追加します。

server.contextPath=/api 

common propertiesための公式リファレンスを確認してください。

+0

Base URLをすべて追加したくありません。私はテンプレートとプレフィックスを付けたアプリケーションをビルドしています。 –

+0

com.myproject.api/**をHTMLビューに、com.myproject.api/api/**を他のコントローラ(例えばRESTコントローラ)? –

+0

いいえパッケージcom.myapp.apiの下にあるすべてのコントローラには "/ api/*"を、com.myapp.webにはすべてのコントローラのプレフィックスを付けないようにします。 –

0

@Controllerまたは@RestControllerクラスの先頭に@RequestMapping("/api")を追加する必要があります。

クラスとメソッドの両方に注釈がある場合、SpringブートはURLを構築する際にそれらを追加します。以下の例では、メソッドは/api/userルートにバインドされます。

@RequestMapping("/api") 
@RestController 
public class MyController { 

    @RequestMapping("/user") 
    public List<User> getUsers(){ 
    return ... 
    } 

} 
+0

'必要なコントローラまたはRestControllerクラスの先頭。 - そうするためにSpringを何とか設定することは不可能ではありません。 –

+0

あなたはパッケージレベルの注釈を言っていますが、Springの '@ RequestMapping'はそれをサポートしていません。 – bekce

+0

は何とかserver.contextPathとして実行できませんが、パッケージにのみ適用されますか? –

関連する問題