ホームページ  >  記事  >  Java  >  Spring Boot Rest の一般的なフレームワーク アノテーションは何ですか?

Spring Boot Rest の一般的なフレームワーク アノテーションは何ですか?

王林
王林転載
2023-05-11 17:22:061289ブラウズ

Spring Boot Rest を開始するための前提条件

知っておくべき最も重要なことは、Spring コンテナー (IOC) です。これに加えて、Java アノテーションの基本的な知識が必要です。 Spring Boot アプリケーションには注釈がたくさんあるためです。最後になりましたが、REST の概念、少なくとも基本的な概念を明確にする必要があります。たとえば、GET、POST、PUT、DELETE、リクエストの本文と応答、ヘッダーなどです。

Spring Initializer で Spring Boot プロジェクトを作成する

Spring Boot の最も優れた点は、開始するための Web アプリケーションがあることです。いくつかのフォームフィールドとボタンをクリックするだけで、スターターファイルが完成します。これにはポムも含まれます。必要なすべての依存関係を含む XML 。 Spring Initializer: https://start.spring.io/ に移動するだけです。以下のスクリーンショットに示されているように、適切なデータを入力します。次に、右上隅にある「依存関係の追加」ボタンをクリックします。 「Web」と入力して選択します。ログとポジョ用にロンボク島も追加します。

Spring Boot Rest の一般的なフレームワーク アノテーションは何ですか?

完了したら、生成ボタンをクリックするだけで、これらのファイルを含む zip ファイル (pom.xml) がダウンロードされます。解凍して IDE で開きます。 IntelliJ IDEAを使用します。この IDE は、さまざまな機能を活用して作業効率を向上させるのに役立ちます。 IDE でよく使用されるプラグイン

Spring Boot アノテーション

Spring Boot 全体はアノテーションに依存しています。ニーズや手順に応じてさまざまな注意事項があります。セクションの残りの部分には 4 ~ 5 つの主要なノートがあります。それらを 1 つずつ見て、例に適用してみましょう。

@RestController

アノテーションは、

@RestController クラスで使用されます。クラスを Rest のコントローラーとして定義します。これは、ResponseBy の組み合わせを追加するコントローラーの RESTful バージョンです。この方法では、別の ResponseBy アノテーションを必要とせずに、応答が JSON、XML、または定義された応答タイプに自動的に変換されます。

@RestController
public class ArticleRestController {}

残りのアノテーションは、@RestController クラスで使用されます。

@RequestMapping

は、特定のエンドポイントを関数またはメソッドにマップするために使用されます。これは、エンドポイントのパス、メソッド、応答タイプ、要求タイプなどを定義するのに役立ちます。

@RequestMapping(value = "/articles", method = RequestMethod.GET,  produces = "application/json")
public List<Article> getArticles() { }

上の例では、値はマップ先のパスを表します。たとえば、localhost:8080/articles です。メソッドのタイプは GET で、応答として「application/json」を生成します (ただし、これはデフォルトなのでスキップできます)。

@RequestParam

URL 内のクエリ パラメーター、つまり ? key=value&key1=value1@RequestParam アノテーションにより取得されます。関数のパラメータに使用されます。 requireddefaultValue などのさまざまなオプションがあります。次に、クエリ パラメータを指定されたパラメータにロードします。

@RequestMapping(value = "/article", method = RequestMethod.GET)
public Article getArticleByName(
   @RequestParam(value = "articleName", required = true) String articleName
) {}

上の例では、URL GET localhost/article? を呼び出した場合、 ArticleName=springboot、「springboot」がarticleNameパラメータにロードされます。 reuired=true としているので、articleName を渡さないと、ユーザーにエラーがスローされます。

@PathVariable

クエリ パラメータを渡さずに、どの記事をロードするかをサーバーがどのようにして知るのか疑問に思ったことはありませんか?この投稿の URL を見てください。投稿の URL にはクエリ パラメーターが含まれておらず、スラッシュで区切られたプレーンな文字列が含まれています。サーバーは PathVariable を使用してこれを読み取り、/article/{articleslaug} のようになります。 {articleSlug} を置き換える文字列は、PathVariable として扱われます。

@RequestMapping(value = "/article/{articleSlug}", method = RequestMethod.GET)
public Article getArticle(@PathVariable("articleSlug") String articleSlug) {}

{articleSlug} は、RequestMappingPathVariable ({} なし) で同じである必要があることに注意してください。一致しない場合は読み込まれません。

@RequestBody

POST メソッドまたは PUT メソッドの場合、URL 経由ですべてのデータを取得できるわけではありません。これらのメソッドには適切なリクエスト本文があります。 RequestBody アノテーションは、指定されたリクエスト本文をパラメータに自動的にマッピングするのに役立ちます。主にJSONからPOJOへ。

@RequestMapping(value = "/article", method = RequestMethod.POST)
public Article createArticle(@RequestBody NewArticlePojo newArticle){}

リクエスト本文は自動的に NewArticlePojo クラスにマップされ、フィールドはキーに基づいて設定されます。

REST メソッドの特定のアノテーション

上記の説明で、特定のメソッドを使用して RequestMapping を記述したことがお分かりいただけたかと思います。しかし、これは冗長すぎます。この問題を解決するために、Spring Boot は事前定義されたメソッド マッピングを提供します。これらは @RequestMapping の単なる拡張です。

@GetMapping

@GetMapping は、RequestMappingmethod=RequestMethod に置き換えるのに使用されます。パラメータを取得します。これを見ると、これが GET リクエストであることがわかります。

@PostMapping と @PutMapping

PostMapping は、RequestMappingmethod=RequestMethod に置き換えられます。同様に、PutMapping は、RequestMethod.PUT

method=RequestMethod

および

RequestMethod.PUT

# に置き換えます。 #@DeleteMappingmethod=RequestMethod

Replace###RequestMethod.DELETE###### を使用した DeleteMapping

以上がSpring Boot Rest の一般的なフレームワーク アノテーションは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。