0

我想用一种或两种对任何 GET 请求作出反应的方法来实现一个通用控制器。我试图将其简化到可以返回字节(图像等)或基于字符(XML、CSS)的程度,而无需映射每种内容类型并为每个内容类型放置一个 RequestMapping。

该应用程序必须是 abel 才能处理任何内容类型的任何请求。

我的调度程序当前设置为通过 / 处理所有请求。

到目前为止,我所做的几次尝试都会引发模棱两可的处理程序错误,或者映射无法工作到将文本作为 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 评论的那样,您最好为此使用一个简单的servlet。

于 2013-03-28T14:41:56.053 回答