0

任意の GET 要求に反応する 1 つまたは 2 つのメソッドを備えた汎用コントローラーを実装したいと考えています。これを単純化して、各コンテンツ タイプをマップし、それぞれに RequestMapping を配置することなく、バイト (画像など) または文字ベース (XML、CSS) を返すことができるようにしようとしています。

アプリは、あらゆるコンテンツ タイプのあらゆるリクエストを処理できる必要があります。

私のディスパッチャーは現在、/ を介してすべてのリクエストを処理するように設定されています。

私がこれまでに行ったいくつかの試みは、あいまいなハンドラー エラーをスローするか、テキストが byte[] またはその逆として返されるポイントまでマッピングが機能しません。

誰かがこの作品のようなものを作ったことがありますか?

よろしく、アンディ

4

1 に答える 1

0

あなたはそのようなコントローラを持つことができます

@Controller
public class YourController {
    @RequestMapping("/*")
    public String doLogic(HttpServletRequest request, HttpServletResponse response) throws Exception {
        OutputStream out = response.getOutputStream();
        out.write(/* some bytes, eg. from an image*/); // write the response yourself

        return null; // this is telling spring that this method handled the response itself
    }
}

コントローラーは、すべての URL とすべての http メソッドにマップされます。Spring には、ハンドラー メソッドに対して受け入れられる一連の戻り値の型があります。を使用Stringして を返すnullと、Spring は自分で応答を処理したと見なします。

@NilsH がコメントしたように、これには単純なサーブレットを使用する方がよいかもしれません。

于 2013-03-28T14:41:56.053 に答える