我正在尝试编写一个方法来响应这个http请求。不幸的是,我不知道这种方法的论点应该是什么。
cat data.csv | curl --header "Content-Type: text/plain" --request PUT --data-binary @- http://localhost:8080/endpoint
招摇:
put:
tags:
- "employees"
summary: "Stores employees hierarchy tree on server"
description: "Sends or replaces employees hierarchy tree on server"
operationId: "endpoint"
consumes:
- "text/plain"
parameters:
- in: "body"
name: "body"
description: "CSV with four columns - employee id, employee name, employee surname and employee superior id. Columns are separated with ',' character."
required: true
schema:
type: string
example:[tons of employees data here]
一开始我以为它是一个多部分文件,然后我只处理它(见下面的虚拟方法),但后来我在swagger中看到了一个“string”,这让我有点困惑。我已经不知道输入数据的格式了。
@PutMapping("/endpoint")
public void readCSV(MultipartFile file) throws IOException {
String content = new String(file.getBytes());
System.out.println(content);
}
2条答案
按热度按时间wtzytmuj1#
我现在也面临同样的问题。事实上,你有信息,它是字符串,文本/普通(招摇过市)和内容类型“文本/普通”,这让我相信,传输的数据只是一个字符串,从包含在csv文件中的数据创建。所以你的方法可能是这样的
这个csvdata字符串将包含csv文件中的所有文本。
xesrikrc2#
看到了吗https://www.baeldung.com/spring-request-response-body
或者您可以直接访问httprequest并从中读取请求正文
HttpServletRequest
如何在spring组件类中访问httpservletrequest也可以使用多部分,但是不能使用text/plain,还必须根据多部分格式设置正文的格式。