有没有办法从Go源代码生成OpenAPI v3规范?假设我有一个如下所示的 go API,我想从中生成 OpenAPI 规范(yaml 文件)。类似于 Python 的Flask RESTX。我知道有一些工具可以根据规范生成 go 源代码,但是,我想以相反的方式进行。
package main
import "net/http"
func main() {
http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("world\n"))
})
http.ListenAndServe(":5050", nil)
}
Run Code Online (Sandbox Code Playgroud) 让我们有一个页面,上面有一个注册表单。它在第#registration. 如果用户提交无效数据,页面应该将他返回到该#registration部分并显示哪些字段提交了无效值。
我试图呈现模板并做出响应并重定向到它,但我得到了一个TypeError:
File ".../app/routes.py", line 28, in index
return redirect(url_for('.index', form=form, _anchor='registration'), 302, response)
File ".../python3.7/site-packages/werkzeug/utils.py", line 507, in redirect
mimetype="text/html",
TypeError: __call__() got an unexpected keyword argument 'mimetype'
Run Code Online (Sandbox Code Playgroud)
该函数如下所示:
File ".../app/routes.py", line 28, in index
return redirect(url_for('.index', form=form, _anchor='registration'), 302, response)
File ".../python3.7/site-packages/werkzeug/utils.py", line 507, in redirect
mimetype="text/html",
TypeError: __call__() got an unexpected keyword argument 'mimetype'
Run Code Online (Sandbox Code Playgroud) 我正在实现一个模糊器,我想生成随机的 unicode 字符串。我想出了这个解决方案,但是,它的效率非常低,而且很少产生一些字符串。有没有更好的方法来生成unicode字符串?
谢谢。
use rand::{thread_rng, Error, Rng};
use std::convert::TryFrom;
fn main() -> Result<(), Error> {
let mut rng = thread_rng();
let mut arr: Vec<u32> = vec![0; 1024];
rng.try_fill(&mut arr[..])?;
println!(
"{:?}",
arr.iter()
.map(|u| char::try_from(*u))
.flatten()
.collect::<String>()
);
Ok(())
}
Run Code Online (Sandbox Code Playgroud)