我使用connexion模块构建了基于Python / Flask的REST API。这与使用swagger.yml文件定义REST API非常有效。应用程序正在运行,但是当我导航到/ ui时,我在浏览器中得到的是:
我还没有禁用用户界面,所以我不确定发生了什么以及为什么用户界面没有被显示。我的应用程序没有/ static文件夹(它只是一个API),因此应用程序不提供任何静态文件,不确定是否与问题相关。
任何关于我做错事的建议,提示或提示都将非常感激!
以下是我的代码的简化示例:
JTabbedPane tabs = new JTabbedPane();
JFrame frame = new JFrame("crm");
frame.setSize(750, 600);
JPanel panel = new JPanel();
JPanel qw = new JPanel();
panel.setPreferredSize(new Dimension(650,500));
frame.add(tabs);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(panel, BorderLayout.CENTER);
panel.setLayout(null);
panel.setPreferredSize(frame.getSize());
tabs.add("1", panel);
tabs.addTab("2", qw);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
提前致谢, 道格
答案 0 :(得分:0)
这是由缺少尾部斜杠造成的。只需在网址末尾添加斜杠即可。
答案 1 :(得分:0)
连接中没有捆绑 swagger-ui 。您已经使用以下命令明确安装了它
pip install connexion[swagger-ui]
安装后。昂首阔步将与连接。在较早的版本中,用于与/ ui一起使用的swagger会在http(s)://host:port
但是从2.0.x开始,请使用http(s)://host:port/<basepath>/ui
答案 2 :(得分:0)
我的stackoverflow名誉太低,无法评论上面Ashraff Ali Wahab的答案,但是我发现自己可以自己编辑它。可以说,在我理解所呈现的shell语法错误之后,Pablo Marin-Garcia指出的问题为我解决了问题。这是在Unix / Linux中正确安装swagger-ui插件所需的shell语法:
pip install 'connexion[swagger-ui]'
任何匹配的引号都可以。请注意,没有引号的pip命令将成功运行,但它不会像您期望的那样安装swagger-ui组件。此外,我花了很多时间在这个问题上head头,因为我是在virtualenv中完成的。我还用find
在virtualenv中搜索了swagger-ui组件,发现安装了一些存根。因此,如果您是python的新手,或者很着急,那么可能很容易错过。
最终,我决定添加一个 local_requirement.txt 文件,其中列出了正确的Werzueg,connexion和“ connexion [swagger-ui]”版本,这些文件是我在使用之前安装的库存 requirements.txt ,因为SmartBear工具生成的Flask API代码似乎过时了。
答案 3 :(得分:0)
我有同样的问题。我用
解决了pip install pathlib swagger_ui_bundle