gpt4 book ai didi

java - 如何从请求中获取 MediaType

转载 作者:行者123 更新时间:2023-11-30 08:40:55 25 4
gpt4 key购买 nike

我正在使用 ReSTLet 构建某种代理服务器,但是我遇到了一个问题,即没有根据客户端请求自动确定 MediaType 的方法。

这是我的代码:

Representation entity = null;
entity.setMediaType(processMediaType(path));

处理媒体类型:

private MediaType processMediaType(String path){
MediaType type = MediaType.ALL;
if(path.endsWith("html")){
type = MediaType.TEXT_HTML;
} else if (path.endsWith("css")) {
type = MediaType.TEXT_CSS;
} else if (path.endsWith("js")) {
type = MediaType.TEXT_JAVASCRIPT;
} else if (path.endsWith("txt")) {
type = MediaType.TEXT_PLAIN;
} else if (path.endsWith("jpg")){
type = MediaType.IMAGE_JPEG;
} else if (path.endsWith("png")){
type = MediaType.IMAGE_PNG;
}
return type;
}

我想知道 MediaType 是否可以由框架自动构建(或者通过从请求中获取 MediaType,这对我不起作用)从请求中构建,这样我就不需要执行这些 if-else 语句这在捕捉各种媒体类型方面非常有限。

最佳答案

为什么需要确定媒体类型?通常,当您在 java 中构建 rest api 时,您会为允许的每种媒体类型创建单独的方法,即

@Path("<your_path>")
@Consumes (MediaType.XML)
@Produces (MediaType.XML)
public Response processXMLRequest (...){
//a more general method to process all request
return processRequest (request, MediaType.XML);
}


@Path("<your_path>")
@Consumes (MediaType.JSON)
@Produces (MediaType.JSON)
public Response processXMLRequest (...){
//a more general method to process all request
return processRequest (request, MediaType.JSON);
}

等...

关于java - 如何从请求中获取 MediaType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com