URLからIDを保持するためにPATHVARIABLEを使用したスプリングブート -- java フィールド と spring フィールド と spring-boot フィールド と spring-mvc フィールド 関連 問題

Spring boot using pathvariable to get hold of an id from url












0
vote

問題

日本語

私のread()メソッドのパラメータとして使用するためにURLからIDを達成するのに苦労しています。 私は@Pathvariableを使用する例の根本を読んで見たことがあります、そして私はこれがうまくいけないのか見ることができません。

これは私のコントローラクラスです。

<事前> <コード> @GetMapping("details/{id}") public String read(@PathVariable int employeeId, Model model) { model.addAttribute("students_data", studentsRepo.read(employeeId)); //the line underneath will work using as an example the int 2 in the parameter. But I want the int coming from the url. //model.addAttribute("students_data", studentsRepo.read(2)); return "details"; }

詳細ページのエラーを取得:

<事前> <コード> Fri Jan 03 12:13:44 CET 2020 There was an unexpected error (type=Not Found, status=404). No message available

URLがどのように見えるかの例:

<事前> <コード> http://localhost:8080/details?id=2
英語

I'm struggling with attaining an id from the url to use as a parameter in my read() method. I read and have seen dusin of examples of using @PathVariable and I can't see why this should not work.

This is my controller class.

@GetMapping("details/{id}")     public String read(@PathVariable int employeeId, Model model)     {          model.addAttribute("students_data", studentsRepo.read(employeeId));          //the line underneath will work using as an example the int 2 in the parameter. But I want the int coming from the url.         //model.addAttribute("students_data", studentsRepo.read(2));          return "details";     }  

I get the error on the details page:

Fri Jan 03 12:13:44 CET 2020 There was an unexpected error (type=Not Found, status=404). No message available 

Example of how the url could look is:

http://localhost:8080/details?id=2 
</div
           
 
 

回答リスト

3
 
vote
vote
ベストアンサー
 

共有されているURL java.exe, javaw.exe, javaws.exe0 @RequestParamではなく@pathvariable

ではありません。

@RequestParamを使用したい場合は、API署名が

にする必要があります。 <事前> <コード> java.exe, javaw.exe, javaws.exe1

あなたが@pathvariableを使いたい場合は、あなたのAPIは

にする必要があります <事前> <コード> java.exe, javaw.exe, javaws.exe2

2つの違いを確認してください https:// javarevisted。 blogspot.com/2017/10/differences-requestParam-and-pathvariable-andotations-spring-mvc.html

 

The URL http://localhost:8080/details?id=2 that you have shared contain @RequestParam and not @PathVariable

If you want to use @RequestParam then your API signature should be

    @GetMapping("details/")     public String read(@RequestParam("id") int employeeId, Model model)     {        "details";     } 

If you want to use @PathVariable then your API should be

    @GetMapping("details/{id}")     public String read(@PathVariable("id") int employeeId, Model model)     {        "details";     } 

Please check the difference between the two https://javarevisited.blogspot.com/2017/10/differences-between-requestparam-and-pathvariable-annotations-spring-mvc.html

</div
 
 
3
 
vote

あなたはPATHVARIABLEを使用しています。したがって、URLは次のようになります。

<事前> <コード> java.exe, javaw.exe, javaws.exe3

あなたのurl http:// localhost:8080 /詳細?id = 2 それからあなたはQueryParameter

を使わなければなりません <事前> <コード> java.exe, javaw.exe, javaws.exe4
 

You are using PathVariable. Therefore the URL would be:

http://localhost:8080/details/2 

If you want your URL http://localhost:8080/details?id=2 then you have to use QueryParameter

@GetMapping("details") public String read(@RequestParameter int id, Model model) 
</div
 
 
2
 
vote

<コード> java.exe, javaw.exe, javaws.exe6

の代わりに var data = { format: 'd/m/Y', //date format timepicker: false //hide time }; const $in = $('#textin'), $out = $('#textout'); $in.datetimepicker(data); $out.datetimepicker(data); $in.on('change', function() { var minDate = $in.val(); if (minDate) { minDate = minDate.split('/'); console.log(minDate); minDate = new Date(minDate[2], minDate[1] - 1, minDate[0], 0, 0); } else { minDate = new Date(0, 0, 0, 0, 0); } data.minDate = minDate; $out.datetimepicker(data); }); 15 を使用します。 <事前> <コード> java.exe, javaw.exe, javaws.exe7

URL: http:// localhost:8080 /詳細/ 10

 

Use @PathVariable("id") or @PathVariable int id instead of employeeId

public String read(@PathVariable("id") int employeeId, Model model) 

URL: http://localhost:8080/details/10

</div
 
 
1
 
vote

パスパターンから変数の名前を追加します。

<事前> <コード> @PathVariable("id")

で呼び出しを追加 <事前> <コード> http://localhost:8080/details/2
 

Add the name of the variable from the path pattern.

@PathVariable("id") 

Add call it with

http://localhost:8080/details/2 
</div
 
 
1
 
vote

あなたは

、別の変数名を使用している場合は PathVariable のには id をマッピングする必要があります <事前> <コード> @GetMapping("details/{id}") public String read(@PathVariable("id") int employeeId, Model model)
 

You have to map the id to the PathVariable if you are using a different variable name,

@GetMapping("details/{id}") public String read(@PathVariable("id") int employeeId, Model model) 
</div
 
 

関連する質問

0  Spring MVC Anの1つのJSPの2つのテーブルからデータを挿入する方法  ( How to insert data from two table in one jsp in spring mvc an ) 
Spring MVCを使用し、1つのJSP の2つのテーブルからデータを挿入してみてください。 マイテーブル: <事前> <コード> 1.Cars Id Name CityId(FK) 2.City Id Name 私は以下で試し...

0  カスタマイズされた価値を春のAOPアドバイスに合格する方法は?  ( How can i pass a customized value to a spring aop advice ) 
ポイントカットとして public void delete(int id); という名前のサービスメソッドを取得した場合は、後で返しているアドバイスを追加したいが、どのようなオブジェクトが削除されたかわかりません(ただし、サービスを呼び出されたサーブレットはタ...

0  春2.5のライフレイの春JSON問題  ( Spring json problem in liferay with spring 2 5 ) 
Spring 2.5を含むLiferay 5.1.2で行われたプロジェクトで、ライブラリSpring-JSON.1.3.1を使用しようとしています。 プロジェクトウェブサイトに続く命令、私は要求を私の中でヒットさせることができましたコントローラですが、JSO...

0  プログラマーはどの場合にDispatchServletからWebPlicationContextを取得しますか?  ( In what case would a programmer get the webapplicationcontext out of dispatchser ) 
org.springframework.web.servlet.mvc.AbstractController に getWebApplicationContext があることに気付く。つまり、Spring ProgrammerがSpring IOCコンテナ...

2  セキュリティ問題と検索エンジンの最適化を獲得しました  ( Grails security problem and search engine optimization ) 
現在のGSPページに依存するコントロールロジックを作成しようとしています。アクションを呼び出すには、現在のGSPページを識別するために使用できるタグまたはセッションメソッドがあります。 シングアップとログインを除くすべてのGSPへのアクセスを制限したいので、ユ...

2  Spring MVC IsFormSubmission()注釈と同等のものは?  ( Spring mvc isformsubmission equivalent for annotations ) 
Spring MVCを使用すると、「POSTを使用している場合、または「ISSUBMIT」パラメータを含めた場合は、ユーザーがフォームを送信している場合は概念を表現しています。」 SimpleFormController を拡張し、 isFormSubmi...

2  MVCとWebflowを組み合わせることは春ですか?  ( Is spring ever going to combine mvc and webflow ) 
私は過去に何度もどこかに春の将来の目標が春のMVCとウェブフローを組み合わせることを講演したと言いました... これはまだケースですか? 現時点では、WebFlowがMVCへの拡張として推奨されているため、まだかなり別のプロジェクトがあるようです。開発者とし...

25  vaadinとSpring MVC統合  ( Vaadin and spring mvc integration ) 
vaadinフレームワークでSpring MVCを使用する可能性について考えています。それらをうまく遊ぶことの文書化された方法はありますか?また一緒に使うことをお勧めしますか?パフォーマンスに関する。私は専用のサーバー上でアプリを実行するつもりです。 私の...

6  Spring Form TagLib Disabled属性は、実際に文字列に解決する必要がありますか?  ( Does spring form taglib disabled attribute really have to resolve to a string ) 
私は最近春の形のTaglibと遊んで、かなり邪魔な現象に出会った。 <事前> <コード> <form:select path="whatever" disabled="${true}"> は無効になっていない選択要素をレンダリングします。 <事前> <コー...

2  SpringのAnnotationMethodHandlerAdapterを使ってリダイレクトアフター投稿フォームを実装するにはどうすればよいですか。  ( How can i implement a redirect after post form with springs annotationmethodhan ) 
検証エラー後にリダイレクトし、値とエラーメッセージをrequestedフォームに往復する@RequestMappingスタイルフォームコントローラを書きたい(Spring Docsは常にビューを直接レンダリングされているビューを直接表示されているビューを表示す...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有