2017-04-26 8 views
1

私は簡単なスプリングブートアプリケーションを試しています。ここに私のコードです。だから私はそれを実行するときsayHello()を呼び出しているのですか?パスを使わずに呼び出すSpringブートアプリケーション

@RestController 
public class HelloController { 

    @RequestMapping() 
    public String sayHello2(){ 
     return "Hello2"; 
    } 
    @RequestMapping(produces = { "text/html" }) 
    public String sayHello(){ 
     return "Hello"; 
    } 
} 

答えて

1

これは、どこから呼び出しているかによって異なります。デフォルトの書式がtext/htmlのブラウザから呼び出すと、sayHelloが呼び出されます。 curlを使用して電話すると、sayHello2と呼びます。

0

リクエストヘッダーによって異なります。要求ヘッダーが(通常はブラウザからの)を受け入れる場合、対応する要求が実行されます。 @pvpkiranが指摘しているように、curlを試すか、Acceptヘッダを変更して相違点を確認してください。

0

URLパターンを指定していないため、どちらの方法も同じように「/」で言及していないので、 マッピングを共有しています。

@RestController 
public class HelloController { 

    @RequestMapping(value="/") 
    public String sayHello2(){ 
     return "Hello2"; 
    } 
    @RequestMapping(value="/hello",produces = { "text/html" }) 
    public String sayHello(){ 
     return "Hello"; 
    } 
} 

今uは/を入力するときには、sayHello2()を実行し、URLパターンは/ハローあるときには、のsayHello()を実行します。

関連する問題