简介

http://yapi.trechina.cn/group/1452

image.png

1.编写接口

1.POST接口示例(token验证)

  1. #!/bin/bash -xv
  2. #
  3. # SMARTCOOLER.MENU.CGI >> 画面メニューロード
  4. #
  5. # Written by lv.xuanxuan Date : 2020/05/06
  6. #環境変数設定
  7. export PATH=/home/SMART_TRIAL:/home/SMART:/usr/local/bin:${PATH}
  8. export LANG=ja_JP.UTF-8
  9. #ログディレクトリ定義
  10. logd=/home/trial/AP/LOG
  11. # 走行ログの記録
  12. echo "${logd}/LOG.$(basename $0).$(date +%Y%m%d)_$(date +%H%M%S)_$$" &> /dev/null
  13. exec 2> ${logd}/LOG.$(basename $0).$(date +%Y%m%d)_$(date +%H%M%S)_$$
  14. #変数定義
  15. dir=/home/trial/AP/SMARTCOOLER
  16. tmp=/tmp/$$-$(basename $0).$(date +%Y%m%d%H%M%S)
  17. #LV4
  18. pompad=/home/trial/APDATA/SMARTCOOLER/POMPA
  19. #TBL
  20. tbld=/SC/TBL
  21. #業務TBL
  22. sctbld=${pompad}/TBL
  23. #cgid
  24. cgid=${dir}/CGI
  25. #json変換
  26. tojsond=${dir}/CGI/TOJSON
  27. # 起動時刻の記録
  28. echo "Content-type:text/html;charset=UTF-8"
  29. echo ""
  30. #设置不同的返回信息
  31. ERROR_EXIT(){
  32. echo '{"retstatus":"-1","token":"_","statusname":"処理エラー"}'
  33. exit 1
  34. }
  35. ERROR_PARA(){
  36. echo '{"retstatus":"-2","token":"_","statusname":"パラメーターエラー"}'
  37. exit 1
  38. }
  39. ERROR_TOKEN(){
  40. echo '{"retstatus":"-3","token":"_","statusname":"TOKEN無効"}'
  41. exit 1
  42. }
  43. #画面からデータ取得
  44. #获取POST请求的参数
  45. dd bs=${CONTENT_LENGTH} >${tmp}-parameter
  46. ###########################
  47. # 業務処理開始
  48. ###########################
  49. #判断参数是否错误
  50. #ユーザーID
  51. userid=$(cat ${tmp}-parameter | jq -r .uid)
  52. [ -z ${userid} ] && ERROR_PARA
  53. [ ${userid} == "_" ] && ERROR_PARA
  54. #token
  55. token=$(cat ${tmp}-parameter | jq -r .token)
  56. [ -z ${token} ] && ERROR_PARA
  57. [ ${token} == "_" ] && ERROR_PARA
  58. #判断token是否正确
  59. #共通tokenチェック
  60. shl=COMMON_TOKEN_CHECK
  61. ${cgid}/${shl} ${userid} ${token} > ${tmp}-check
  62. [ $? -eq 0 ] || ERROR_TOKEN
  63. [ $(cat ${tmp}-check | selrow -e '$1=="success"' | rowc) -ne 1 ] && ERROR_TOKEN
  64. #メニュー情報取得
  65. echo ${userid} |
  66. # 1.ユーザー
  67. hejoin -k2 - ${sctbld}/SMARTCOOL_ROLE_USER |
  68. # 1.角色ID 2.ユーザー
  69. hejoin -k1 - ${sctbld}/SMARTCOOL_ROLE_MENU |
  70. # 1.角色ID 2.メニューID 3.表示フラグ(1:表示可,0:表示不可) 4.利用フラグ(1:利用可,0:利用不可)
  71. selrow -e '$3==1' |
  72. kuniq -k2@4 |
  73. # 1.メニューID 2.利用フラグ(1:利用可,0:利用不可)
  74. hijoin -k1 - ${sctbld}/SMARTCOOL_MENU_MST |
  75. # 1.メニューID 2.利用フラグ(1:利用可,0:利用不可) 3.大項目ID 4.大項目名 5.中項目ID 6.中項目名
  76. # 7.中表示名 8.大表示名
  77. awk '{print $1,$3,$4,$5,$6,$7,$8,$2}' > ${tmp}-menulist
  78. # 1.メニューID 2.大項目ID 3.大項目名 4.中項目ID 5.中項目名 6.中表示名 7.大表示名 8.r/w/a
  79. [ $(errchk ${PIPESTATUS[@]}) -eq 0 ] || ERROR_EXIT
  80. #//////////////////////////
  81. # 結果JSONファイル変換
  82. #/////////////////////////
  83. shl=COMMON_JSONDATA_MENU.SHELL
  84. ${tojsond}/${shl} ${tmp}-menulist > ${tmp}-json
  85. [ $? -eq 0 ] || ERROR_EXIT
  86. cat ${tmp}-json
  87. ####################
  88. #終了処理
  89. ####################
  90. #一時ファイル削除
  91. rm -rf ${tmp}* &>/dev/null
  92. exit 0

2.GET接口示例(token验证)

  1. !/bin/bash -xv
  2. #
  3. # SMARTCOOLER.MENU.CGI >> 画面メニューロード
  4. #
  5. # Written by lv.xuanxuan Date : 2020/05/06
  6. #環境変数設定
  7. export PATH=/home/SMART_TRIAL:/home/SMART:/usr/local/bin:${PATH}
  8. export LANG=ja_JP.UTF-8
  9. #ログディレクトリ定義
  10. logd=/home/trial/AP/LOG
  11. # 走行ログの記録
  12. echo "${logd}/LOG.$(basename $0).$(date +%Y%m%d)_$(date +%H%M%S)_$$" &> /dev/null
  13. exec 2> ${logd}/LOG.$(basename $0).$(date +%Y%m%d)_$(date +%H%M%S)_$$
  14. #変数定義
  15. dir=/home/trial/AP/SMARTCOOLER
  16. tmp=/tmp/$$-$(basename $0).$(date +%Y%m%d%H%M%S)
  17. #LV4
  18. pompad=/home/trial/APDATA/SMARTCOOLER/POMPA
  19. #TBL
  20. tbld=/SC/TBL
  21. #業務TBL
  22. sctbld=${pompad}/TBL
  23. #cgid
  24. cgid=${dir}/CGI
  25. #json変換
  26. tojsond=${dir}/CGI/TOJSON
  27. #设置不同的返回信息
  28. # 起動時刻の記録
  29. echo "Content-type:text/html;charset=UTF-8"
  30. echo ""
  31. ERROR_EXIT(){
  32. echo '{"retstatus":"-1","token":"_","statusname":"処理エラー"}'
  33. exit 1
  34. }
  35. ERROR_PARA(){
  36. echo '{"retstatus":"-2","token":"_","statusname":"パラメーターエラー"}'
  37. exit 1
  38. }
  39. ERROR_TOKEN(){
  40. echo '{"retstatus":"-3","token":"_","statusname":"TOKEN無効"}'
  41. exit 1
  42. }
  43. #画面からデータ取得
  44. #获取GET请求的参数
  45. dd bs=${CONTENT_LENGTH} >${tmp}-parameter
  46. echo ${QUERY_STRING} |qsstr >$tmp-parameter
  47. ###########################
  48. # 業務処理開始
  49. ###########################
  50. #ユーザーID
  51. userid=$(readvalue -u uid ${tmp}-parameter)
  52. [ -z ${userid} ] && ERROR_PARA
  53. [ ${userid} == "_" ] && ERROR_PARA
  54. #token
  55. token=$(readvalue -u token ${tmp}-parameter)
  56. [ -z ${token} ] && ERROR_PARA
  57. [ ${token} == "_" ] && ERROR_PARA
  58. #共通tokenチェック
  59. shl=COMMON_TOKEN_CHECK
  60. ${cgid}/${shl} ${userid} ${token} > ${tmp}-check
  61. [ $? -eq 0 ] || ERROR_TOKEN
  62. [ $(cat ${tmp}-check | selrow -e '$1=="success"' | rowc) -ne 1 ] && ERROR_TOKEN
  63. #メニュー情報取得
  64. echo ${userid} |
  65. # 1.ユーザー
  66. hejoin -k2 - ${sctbld}/SMARTCOOL_ROLE_USER |
  67. # 1.角色ID 2.ユーザー
  68. hejoin -k1 - ${sctbld}/SMARTCOOL_ROLE_MENU |
  69. # 1.角色ID 2.メニューID 3.表示フラグ(1:表示可,0:表示不可) 4.利用フラグ(1:利用可,0:利用不可)
  70. selrow -e '$3==1' |
  71. kuniq -k2@4 |
  72. # 1.メニューID 2.利用フラグ(1:利用可,0:利用不可)
  73. hijoin -k1 - ${sctbld}/SMARTCOOL_MENU_MST |
  74. # 1.メニューID 2.利用フラグ(1:利用可,0:利用不可) 3.大項目ID 4.大項目名 5.中項目ID 6.中項目名
  75. # 7.中表示名 8.大表示名
  76. awk '{print $1,$3,$4,$5,$6,$7,$8,$2}' > ${tmp}-menulist
  77. # 1.メニューID 2.大項目ID 3.大項目名 4.中項目ID 5.中項目名 6.中表示名 7.大表示名 8.r/w/a
  78. [ $(errchk ${PIPESTATUS[@]}) -eq 0 ] || ERROR_EXIT
  79. #//////////////////////////
  80. # 結果JSONファイル変換
  81. #/////////////////////////
  82. shl=COMMON_JSONDATA_MENU.SHELL
  83. ${tojsond}/${shl} ${tmp}-menulist > ${tmp}-json
  84. [ $? -eq 0 ] || ERROR_EXI
  85. cat ${tmp}-json
  86. ####################
  87. #終了処理
  88. ####################
  89. #一時ファイル削除
  90. rm -rf ${tmp}* &>/dev/null
  91. exit 0

2.添加分组

image.png

3.添加项目

点击分组名-点击添加项目
image.png

image.png

3.项目环境配置

点击项目-设置-环境设置
设置完成点击保存
image.png

4.接口配置

添加接口

1.设置接口类型
2.设置接口名称和路径后点击保存
image.png

配置POST接口

点击接口-编辑进行接口配置

1.设置接口基本信息

image.png

2.设置接口需要的请求参数(默认使用form参数)

form参数示例

image.png

json参数示例

image.png

file参数示例
  1. {"type":"object","title":"empty object","properties":{"uid":{"type":"string","description":"用户名","mock":{"mock":"admin"}},"token":{"type":"string","description":"认证token信息","mock":{"mock":"d279ea03169dec0aaa5c05845fd9b461"}}},"required":["uid","token"]}

raw参数示例
  1. {"type":"object","title":"empty object","properties":{"uid":{"type":"string","description":"用户名","mock":{"mock":"admin"}},"token":{"type":"string","description":"认证token信息","mock":{"mock":"d279ea03169dec0aaa5c05845fd9b461"}}},"required":["uid","token"]}

3.返回数据设置

image.png

4.接口测试

image.png

配置GET接口

1.设置接口基本信息

image.png

2.设置接口需要的请求参数

image.png

3.返回数据设置

image.png

4.接口测试

image.png

问题一览

1.添加项目时的基本路径

此路径影响的是项目中的mock路径
image.png
image.png

2.接口copy

接口copy会自动添加后缀,其他不变
image.png

3.项目删除

在项目-设置中点击危险操作
image.png

4.tag设置

在项目-接口-编辑-tag中设置版本
image.png