ASP.NET WebAPI每个方法支持的媒体类型
在控制器中给出了一种方法: public class CustomerController : ApiController { [HttpGet] public CustomerDto GetById([FromUri] int id) { . . return customerDto } } 有没有一种方法可以指定具有属性的支持的媒体类型?例如,CustomerDto是一个复杂的类,仅与JSON(Application/JSON)而不是XML(Application/XML)序列化,但也可以接受PDF(Application/PDF).有这样的东西: [HttpGet(Accepts.JSON, Accepts.PDF)] or [HttpGet][AcceptJSON][AcceptXML] or [HttpGet][Accept("application/json")
2 2024-03-16
编程技术问答社区
远程服务器返回一个错误:(415)不支持的媒体类型
我尝试将文本文件从 wpf Restful客户端上传到ASP .NET MVC WebAPI 2网站. 客户端代码 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost:22678/api/Account/UploadFile?fileName=test.txt&description=MyDesc1"); request.Method = WebRequestMethods.Http.Post; request.Headers.Add("Authorization", "Bearer " + tokenModel.ExternalAccessToken); request.ContentType = "text/plain"; request.MediaType = "text/plain"; byte[] fileToSend = File.ReadAllBy
6 2024-03-16
编程技术问答社区
限制ASP.NET核心控制器动作中接受的媒体类型
我有一个ASP.NET核心服务,可同时产生JSON和XML响应.但是,我喜欢仅对一个操作限制接受的媒体类型,因此Swagger只能将应用程序/JSON列为有效的响应内容类型.如何在ASP.NET Core中实现此目标? 请考虑我正在使用ASP.NET Core(ASP.NET MVC 6),而不是ASP.NET WebAPI. 更新 好,所以我将答案作为同一问题的一部分.多亏了@helen,我能够添加所需的类以在ASP.NET Core(ASP.NET MVC 6)中实现此目标.答案基于这个答案,但已修改为使用ASP.NET Core Class. . 步骤1. /// /// SwaggerResponseContentTypeAttribute /// [AttributeUsage(AttributeTargets.Method)] public sealed class SwaggerResponseContent
4 2024-03-11
编程技术问答社区
正确使用Apache Tika MediaType
我想使用apache tika的介体类比较媒体. 我首先使用tika检测介体. 然后,我想根据介体开始操作. 因此,如果介体来自XML类型,我想做一些操作,如果是一个压缩文件,我想开始其他操作. 我的问题是有许多XML类型,那么如何使用Mediatipe检查它是否是XML? 这是我以前的(tika之前)实现: if (contentType.contains("text/xml") || contentType.contains("application/xml") || contentType.contains("application/x-xml") || contentType.contains("application/atom+xml") || contentType.contains("application/rss+xml")) { processXML(); } else if (co
2 2024-03-01
编程技术问答社区
在自定义媒体类型中创建超媒体链接
我目前正在为Restful API(例如Application/vnd.mycompany.foo+XML)创建一组自定义媒体类型,并且我正在尝试确定两种揭示HyperMedia链接的不同方法的利弊. ,如果我首先考虑其他媒体类型可能是最佳起点的方法是HTML. HTML允许我创建诸如: 之类的链接 有趣的是,在某些情况下,一些具有URL属性的特定标签,然后有使用REL属性来定义关系的通用链接标签. 在Atompub中,也有几种方法将资源链接在一起
2 2023-12-21
编程技术问答社区
Jackson 2.2的春季MVC:��HttpMediaTypeNotAcceptableException:找不到可接受的表示形式��
所以我努力地将我的豆子编码在Json ... 首先,我尝试使用Codehaus的Jackson 1.9.13和Spring MVC 3.1.1.我遇到了一些问题,直到我设法达到"直接自我参考"例外. 查找这个我发现我需要Fastxml的杰克逊2.然后我发现(在这里)我需要春季3.1.2,因为先前版本不支持杰克逊2. 所以,毕竟...我仍然得到同样的例外. 我的Maven依赖性确实包括Spring MVC 3.1.2释放以及杰克逊的2罐(它们都在我的构建路径中) com.fasterxml.jackson.core jackson-databind 2.2.2
18 2023-12-02
编程技术问答社区
Spring 3.1或更高版本@RequestMapping消费/生产
我有一个关于消费的问题,并产生了@RequestMapping的一部分.我有一个终点,我想同时接受JSON和XML并在传递JSON并返回XML时返回JSON. 示例代码在下面列出. @RequestMapping(value = "/something", method = PUT, consumes = {APPLICATION_JSON_VALUE, APPLICATION_XML_VALUE}, produces = {APPLICATION_JSON_VALUE, APPLICATION_XML_VALUE}) public SomeObject updateSomeObject(SomeObject acct) { return doStuff(acct); } 这项工作会以我期望的方式工作,还是我需要两个端点updateSomeObjectXML和updateSomeObjectJson处
14 2023-09-14
编程技术问答社区
在Spring Boot中,通过扩展MappingJackson2HttpMessageConverter添加自定义转换器似乎覆盖了现有的转换器
我正在尝试为application/vnd.custom.hal+json之类的自定义媒体类型创建转换器.我看到了这个答案在这里无法访问AbstractHttpMessageConverter的受保护构造函数(MappingJackson2HttpMessageConverter的超级类).这意味着以下代码不起作用: class MyCustomVndConverter extends MappingJacksonHttpMessageConverter { public MyCustomVndConverter (){ super(MediaType.valueOf("application/vnd.myservice+json")); } } 但是,以下确实有效,基本上只是模仿构造函数实际上所做的事情: setSupportedMediaTypes(Collections.singletonList( MediaType.
40 2023-09-12
编程技术问答社区
URLDecoder: 多部分数据的转义(%)模式中存在非法的十六进制字符
我正在使用Multipart从服务获取PDF和对象数据.我得到以下错误 java.lang.illegalargumentException:urldecoder:非法六角字符 在Escape(%)模式中 - 对于输入字符串:" PD" java.net.urldecoder.decode(urldecoder.java:205)at org.springframework.http.converter.formhttpmessageconverter.read(formhttpmessageconverter.java:186) 调用服务时. 在 SERVICE : @RequestMapping(value = "/getPDF", method = RequestMethod.GET,produces = MediaType.MULTIPART_FORM_DATA_VALUE) public ResponseEntity
10 2023-08-10
编程技术问答社区
其他MediaType.MULTIPART_FORM_DATA可以和@Produces一起使用吗?
我有一个静止服务,该服务产生了这种格式的对象: filedetailsobject { 字节[]数据; 字符串position_of_logo; 字符串用户名; } 有没有办法在休息中实现这一目标? 如果仅是字节[],我可以使用octet_stream.但是我需要用字节[]. 返回对象 我阅读了有关介体的信息. Multepart_form_data,但据我所知,它似乎与@Consumes相关联,您可以将其发送到服务发布请求. 任何指针都会有所帮助. 谢谢 解决方案 您可以使用 in 1.该解决方案是特定于球衣的.您没有指定您正在使用的JAX-RS实现.
6 2023-08-10
编程技术问答社区
Jersey REST WS错误:��缺少方法的依赖项。。。索引X处的at参数��
我收到以下错误: Apr 09, 2013 12:24:26 PM com.sun.jersey.spi.inject.Errors processErrorMessages SEVERE: The following errors and warnings have been detected with resource and/or provider classes: SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.package.ImportService.specifyLocalFile(java.lang.String,java.lang.String,java.lang.String,java.lang.String) at parameter at index 0 SEVERE: Missing dependency for method public javax.w
14 2023-08-10
编程技术问答社区
如何使用FastAPI返回和下载Excel文件?
如何使用FastApi返回Excel文件(版本:Office365)?该文档似乎很简单.但是,我不知道要使用什么.这是我的代码: import os from fastapi import FastAPI from fastapi.responses import FileResponse from pydantic import BaseModel from typing import Optional excel_file_path = r"C:\Users\some_path\the_excel_file.xlsx" app = FastAPI() class ExcelRequestInfo(BaseModel): client_id: str @app.post("/post_for_excel_file/") async def serve_excel(item: ExcelRequestInfo): # (Generate excel usi
16 2023-06-22
编程技术问答社区
CSS媒体类型。如何为移动端加载CSS?
使用此代码: 在我的 n78 上 我想念什么? 解决方案 诺基亚N78使用S60浏览器,仅读取"屏幕"样式表.它不会阅读"手持".它不支持媒体查询.与其尝试在此处键入所有内容,不如看看这篇文章,您将解决问题 - http://www.alistapart.com/articles/return-of-the-mobile-stylesheet 其他解决方案 以iPhone为例:
36 2023-03-28
编程技术问答社区
Jersey中的限制路径媒体类型映射
我为我的泽西应用程序配置了MEDIA_TYPE_MAPPINGS.不幸的是,这在我的应用程序中的通用上传服务会导致一些麻烦. @PUT @Path("files/{filename}") @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public Response uploadFile( @PathParam("filename") @NotNull @Size(max = 240) String filename, DataSource dataSource) 如果某人上传.../files/file.xml延长量被切碎. 有没有办法告诉球衣跳过此资源的过滤? 编辑:Peeskillet的回答后,我的假设得到了确认.我提出了一个改进请求: https://java.net/jira/jira/jira/browse/browse/browse/jersey-2780
10 2023-03-18
编程技术问答社区
如何定制解析错误的HTTP 400响应?
我写了一项REST API服务,要求所有响应都是JSON.但是,当GO HTTP请求解析器遇到错误时,它将返回400作为纯文本响应,而无需致电我的操作员.示例: > curl -i -H 'Authorization: Basic hi there' 'http://localhost:8080/test' -v * Trying ::1... * TCP_NODELAY set * Connected to localhost (::1) port 8080 (#0) > GET /test HTTP/1.1 > Host: localhost:8080 > User-Agent: curl/7.54.0 > Accept: */* > Authorization: Basic hi > there >
38 2022-11-18
编程技术问答社区
对于.com电子邮件地址,获取请求失败,因为Spring将其解释为扩展名。
(请参阅20.08.2015的编辑部分) 我最近也有一个类似的问题(获取请求仅适用于拖延斜线(春季休息注释)),解决方案是在@requestmapping的值中添加正则是(另请参见 spring mvc @pathvariable被截断). ,但是现在我们已经意识到问题仍然存在,但仅用于以.com或.org结尾的电子邮件地址.这很奇怪. 不久,我使用春季注释建立休息服务.我有一个带有三个参数的get请求,最后一个是电子邮件. 我的控制器: @RequestMapping(method = GET, value = "/{value1}/{value2}/{value3:.+}", produces = MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8") public ResponseEntity getMyResource( @ApiParam(va
16 2022-10-09
编程技术问答社区
获取给定URL的MIME/媒体/内容类型的最简单、最快速的方法是什么?
所以我要将文件从远程服务器传输到我的服务器,但在传输之前我想知道它是什么类型的文件.如果是 HTML 文件,我会以某种方式处理,如果是 PDF 文件,我会以不同的方式处理,例如,如果是 exe 文件,我不想传输完全没有. 我只需要一个 URL.现在,如果该 URL 是明确的(即 http://example.com/file.pdf),则它不是问题,我可以检查文件扩展名,我们已经排序.但是,我可能只会得到一个 URL,例如 http://example.com,它可以是任何东西. 是否可以在下载之前检查(使用 PHP)它是什么类型的文件? 编辑:我将使用 cURL 来传输文件,但我相信 curl_getinfo 文件传输后才能调用? 解决方案 尝试使用 PHP get_headers 函数,例如: $h = get_headers("http://google.com", $format = 1); $content_type = $h["Content-Ty
174 2022-07-28
编程技术问答社区
如何定制 Golang http 400 响应的解析错误?
我编写了一个 REST API 服务,它要求所有响应都是 JSON.但是,当 Go http 请求解析器遇到错误时,它会以纯文本响应的形式返回 400,而无需调用我的处理程序.示例: > curl -i -H 'Authorization: Basic hi there' 'http://localhost:8080/test' -v * Trying ::1... * TCP_NODELAY set * Connected to localhost (::1) port 8080 (#0) > GET /test HTTP/1.1 > Host: localhost:8080 > User-Agent: curl/7.54.0 > Accept: */* > Authorization: Basic hi > there >
3726 2022-07-17
编程技术问答社区