2017-07-28 15 views
-1

私が作成した基本的な残りのAPIにアクセスする際に問題が発生しました。私がhttp://localhost:8080/projectName/rest/helloと入力すると、有名な404エラーが出ます。下記のコードスニペットでわかるように、「Hello world」という文字列が応答として期待されます。 は、私はあなただけのためにGETリクエストをしようと、「アプリケーション名」を公開する必要はありません。何かアドバイスがSpringでAPI呼び出しが残りません

@Controller 
@JsonIgnoreProperties(ignoreUnknown=true) 
@RequestMapping("/rest") 

public class EntityController { 

    @RequestMapping(value="/hello" , method=RequestMethod.GET , produces=MediaType.TEXT_PLAIN_VALUE) 
    public @ResponseBody String hello() { 
     return "Hello world"; 
    } 
} 
+0

を役に立てば幸い? – likeachamp

+0

Spring MVCのコンフィグレーションとデプロイメント記述子を投稿し、アプリケーションのデプロイ方法を記述してください。 –

答えて

1

をいただければ幸いです

..私はそこにいくつかの追加設定をしないのですと思います:

http://localhost:8080/rest/hello

+1

これは問題のように思えます。デフォルトでは、 '@ RequestMapping'はurlのルートを指しています。 – Mustafa

+0

まだ同じエラーがあります:/、apache cxfのような何らかの残りの実装を使用する必要がありますか? – ZiOS

+0

@Mustafa '/ projectName'はSpring MVCによって設定されず、サーブレットコンテナによって設定されます。コントローラーとはまったく無関係です。この回答は、最高の推測であり、明確に述べられていない仮定や質問の内容に基づいています。 –

-1

あなたはJSON本体を返すために、あなたのサービスを有効にするために、あなたのクラスにRestControllerを使用する必要があります。サービスを消費する 、あなたはその直後、この

@RestController 
@JsonIgnoreProperties(ignoreUnknown=true) 
@RequestMapping("/rest") 
public class EntityController { 

    @RequestMapping(value="/hello" , method=RequestMethod.GET ,produces=MediaType.TEXT_PLAIN_VALUE) 
     public @ResponseBody String hello() { 
     return "Hello world"; 
    } 
} 

のように、ホストの後にアプリケーション名を追加する必要があり、そしてあなたのコントローラやメソッド名の、パス、REST操作へのパスは次のようになります。

http://localhost:8080/app-name/rest/hello

あなたが生成せずにしようとしました、それは

+0

これはどのように404を説明していますか? –

関連する問題