http put请求(csv)中的java方法参数?身上有细绳?)

5sxhfpxr  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(254)

我正在尝试编写一个方法来响应这个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);
}
wtzytmuj

wtzytmuj1#

我现在也面临同样的问题。事实上,你有信息,它是字符串,文本/普通(招摇过市)和内容类型“文本/普通”,这让我相信,传输的数据只是一个字符串,从包含在csv文件中的数据创建。所以你的方法可能是这样的

@PutMapping("/endpoint")
public void readCSV(@RequestBody String csvData)

这个csvdata字符串将包含csv文件中的所有文本。

xesrikrc

xesrikrc2#

看到了吗https://www.baeldung.com/spring-request-response-body
或者您可以直接访问httprequest并从中读取请求正文 HttpServletRequest 如何在spring组件类中访问httpservletrequest
也可以使用多部分,但是不能使用text/plain,还必须根据多部分格式设置正文的格式。

相关问题