用于表单数据的 FastAPI Textarea OpenAPI
FastAPI Textarea OpenAPI for Form Data
我正在为 API 使用 Form Data 格式。问题是我将如何通过使用 textarea 使 OpenAPI 输入更大?
遗憾的是,目前还无法实现。
FastAPI 正在使用 Swagger-UI for the API preview. This particular issue was reported a while back. See issues #1578 and #1795。这些问题在没有解决的情况下被关闭。
我遇到了同样的问题。但是当我添加 type="input"
(这是一个相当反模式)时,FastAPI 开始工作。
<form method="post" id="complain_form">
<div class="form-group">
<label for="complain">Customer complains:</label>
<textarea type="input" class="form-control" name="complain" id="complain" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-success">Submit</button>
</form>
我已经破解了。
我的方法是在指定字段名时,将input(type=text)改为textarea。
首先,
您为文档提供 self-hosting javascript 和 css。
https://fastapi.tiangolo.com/advanced/extending-openapi/#self-hosting-javascript-and-css-for-docs.
秒,
你像这样更改 javascript 源代码。
var is_textarea = false;
// when fieldname is info_body, change to textarea
if(i === "info_body") {
is_textarea = true;
}
return l && "file" === l ? D.a.createElement(d, {
type: "file",
className: o.length ? "invalid" : "",
title: o.length ? o : "",
onChange: this.onChange,
disabled: h
}) :( !is_textarea ? D.a.createElement(kr.a, {
type: c && "password" === c ? "password" : "text",
className: o.length ? "invalid" : "",
title: o.length ? o : "",
value: n,
minLength: 0,
debounceTimeout: 350,
placeholder: i,
onChange: this.onChange,
disabled: h
}) : (D.a.createElement("textarea",{
className: o.length ? "invalid" : "",
title: o.length ? o : "",
value: n,
minLength: 0,
debounceTimeout: 350,
placeholder: i,
onChange: this.onChange,
disabled: h
}))) // here!
你可以破解 css 以获得更漂亮的效果,但我不需要它。
享受。
我正在为 API 使用 Form Data 格式。问题是我将如何通过使用 textarea 使 OpenAPI 输入更大?
遗憾的是,目前还无法实现。
FastAPI 正在使用 Swagger-UI for the API preview. This particular issue was reported a while back. See issues #1578 and #1795。这些问题在没有解决的情况下被关闭。
我遇到了同样的问题。但是当我添加 type="input"
(这是一个相当反模式)时,FastAPI 开始工作。
<form method="post" id="complain_form">
<div class="form-group">
<label for="complain">Customer complains:</label>
<textarea type="input" class="form-control" name="complain" id="complain" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-success">Submit</button>
</form>
我已经破解了。
我的方法是在指定字段名时,将input(type=text)改为textarea。
首先,
您为文档提供 self-hosting javascript 和 css。
https://fastapi.tiangolo.com/advanced/extending-openapi/#self-hosting-javascript-and-css-for-docs.
秒,
你像这样更改 javascript 源代码。
var is_textarea = false;
// when fieldname is info_body, change to textarea
if(i === "info_body") {
is_textarea = true;
}
return l && "file" === l ? D.a.createElement(d, {
type: "file",
className: o.length ? "invalid" : "",
title: o.length ? o : "",
onChange: this.onChange,
disabled: h
}) :( !is_textarea ? D.a.createElement(kr.a, {
type: c && "password" === c ? "password" : "text",
className: o.length ? "invalid" : "",
title: o.length ? o : "",
value: n,
minLength: 0,
debounceTimeout: 350,
placeholder: i,
onChange: this.onChange,
disabled: h
}) : (D.a.createElement("textarea",{
className: o.length ? "invalid" : "",
title: o.length ? o : "",
value: n,
minLength: 0,
debounceTimeout: 350,
placeholder: i,
onChange: this.onChange,
disabled: h
}))) // here!
你可以破解 css 以获得更漂亮的效果,但我不需要它。 享受。