广东省做网站的公司,腾讯企业邮箱免费,wordpress域名变了,教您如何找专业网站制作公司在线接口文档预言方案
要求#xff1a;
支持自动生成接口文档
能够支持在线测试(http#xff0c;websocket)
对代码没有侵入性
一、目前涉及的相关技术收集
sudo apt update #更新数据 sudo apt upgrade #更新软件 sudo apt install openssh-server #下载安装…在线接口文档预言方案
要求
支持自动生成接口文档
能够支持在线测试(httpwebsocket)
对代码没有侵入性
一、目前涉及的相关技术收集
sudo apt update #更新数据 sudo apt upgrade #更新软件 sudo apt install openssh-server #下载安装ssh服务的服务器 sudo apt install openssh-client #下载安装ssh服务的客户端
二、落地 doxygen
1、vscode中安装doxygen插件设置生成doxygen快捷键
2、网上学习doxygen的注释字节进行接口注释的编写
3、新建目录来编译doxygen为可执行程序从而每次接口更新执行执行doxygen即可。
sudo apt install doxygensudo apt install graphvizsudo apt install doxy-doc
4、生成文档
cmake …
make doc
既可以在build下生成html文件夹。 Doxyfile.in doxygen 的配置文件格式
PROJECT_NAME CMAKE_PROJECT_NAME
PROJECT_NUMBER MAJOR_VERSION.MINJOR_VERSION.PATCH_VERSION.BUILD_VERSIONINPUT doxy_main_page \CMAKE_CURRENT_LIST_DIR \SrcFile
FILE_PATTERNS *.hpp
RECURSIVE YES
EXTRACT_ALL YES
EXTRACT_PRIVATE YES
EXTRACT_STATIC YES
EXCLUDE_PATTERNS */thirdpart/*
USE_MDFILE_AS_MAINPAGE doxy_main_page
INPUT_ENCODING UTF-8
OUTPUT_LANGUAGE ChineseCMakeLists.txt
cmake_minimum_required (VERSION 3.10)message(STATUS Build documentation open)
#SrcFile 表示需要解析的目录
set(SrcFile ${CMAKE_CURRENT_LIST_DIR}/../src)include(build_doxygen.cmake)
build_doxygen()build_doxygen.cmake
macro(build_doxygen)FIND_PACKAGE(Doxygen)
IF(${DOXYGEN_FOUND})SET(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)SET(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)CONFIGURE_FILE(${doxyfile_in} ${doxyfile} ONLY)ADD_CUSTOM_TARGET(docCOMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}COMMENT Generating API documentation with DoxygenVERBATIM)install(CODE execute_process(COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}COMMAND_ECHO STDOUTWORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build/))INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_PREFIX}/doc)
else()
MESSAGE(WARNING Doxygen is needed to build the documentation.Run sudo apt-get install doxygen doxygen-doc doxygen-gui graphviz)
ENDIF()endmacro()
查阅
cmake使用doxygen生成document_doxygen cmake_六月的雨唯你的博客-CSDN博客
Doxygen 注释语法规范 - schips - 博客园 (cnblogs.com)‘
三、落地apidoc
apidoc 官网apidoc/apidoc: RESTful web API Documentation Generator. (github.com)
1、安装nodejs因为后面apidoc也是通过nodejs安装最好版本对应不然会出现错 安装14.2版本
https://blog.csdn.net/qq_36553707/article/details/122849920
2、npm下载apidoc
sudo npm install apidoc -g
3、直接修改执行程序 apidoc (find搜索一下即可)中defaultIncludeFilters 属性添加hpp并在解析的时候加上-f “.hpp”
4、安装nginx将apidoc生成的html发布到web上
nginx安装 https://blog.csdn.net/qq_36553707/article/details/122849920 nginx配置服务 https://blog.csdn.net/qqq2018/article/details/106245836
打开/etc/nginx/nginx.conf在http的大括号最后加入server配置
server {listen 8080;server_name example.com; # 替换为你的域名location / {root /home/speedbot/workcode/apidoc-demo/apidoc; # 替换为你 HTML 文件所在的目录index index.html;}
}5、测试dapr服务的 http 接口如何访问
https://www.cnblogs.com/magicbowie/p/15596792.html https://v1-5.docs.dapr.io/zh-hans/reference/api/service_invocation_api/
6、进行在线测试(目前因为dapr跨越问题无法测试websocket 不支持)
7、支持post和get两种方式
apidoc升级
进入容器/opt/source/apidoc 替换需要修改的文件即可。
四、落地oatswaggercpp
直接参考C RESTful web service with Swagger-UI and auto-documented endpoints | oatpp (medium.com)
主要需下载1.1.0版本的oat和oatswagger否则会出现一些错误或者编译条件的约束。
接入比较复杂。
五、总结
最后可能还是使用apidoc只是需要修改源码来增加websocket部分的连接通信。