2012-01-02 15 views
7

可能性の重複文字列を返すようにしたい:
Return only string message from Spring MVC 3 Controllerは私の春のコントローラは、ビューなし

を私の春のコントローラは、私が唯一にしたいエンドポイントを持っている:

1. set the http response code 
2. return a string back, don't need to render a .jsp view page or anything. 

これで、httpステータスコードを200 OKまたは500などに設定します。 "OK"のような文字列。

これを行うにはどうすればよいですか、または.jspビューページを強制的にレンダリングしますか?

答えて

11

@ResponseBody注釈を使用します。

@RequestMapping(value="/sayHello", method=GET) 
@ResponseBody 
public String whatever() { 
    return "Hello"; 
} 

は詳細について@ResponseBody ref docsを参照してください。

HttpServletResponseを直接使用するのではなく、@ResponseStatus注釈を使用してコードを設定することができます。

+0

私はコードの流れに応じてステータスを設定しています。ありがとうございます。 – Blankman

+0

@Blankmanええ、あなたは 'HttpServletResponse'バラエティが必要です。 –

+0

あなたは@RequestMappingにproduce = "text/plain"を追加する必要があります。それ以外の場合は、レスポンスのContent-Typeはまだtext/htmlのままです。 –

12

いいえ、表示を使用する必要はありません。より新しいバージョンのSpringを使用している場合は、@ResponseBody注釈を使用することができます。参考までにdocumentationを参照してください。

例:

@Controller 
@RequestMapping(value = "/someUrl", method = RequestMethod.GET, produces="text/plain") 
@ResponseBody 
public String returnSimpleMessage() {  
    return "OK"; 
} 

あなたはまた、所望のHTTPステータスを設定するためのパラメータとしてのHttpServletResponseを使用することができます。

関連する問題