路由支持设置前缀

This commit is contained in:
白茶清欢 2025-02-14 21:33:46 +08:00
parent 9ec9d2e807
commit 07f91dfdfc

View File

@ -174,14 +174,14 @@ func (g *Generate) AddApi(baseCfg *define.UriBaseConfig, paramList []*define.Par
// Author : go_developer@163.com<白茶清欢> // Author : go_developer@163.com<白茶清欢>
// //
// Date : 14:22 2025/2/9 // Date : 14:22 2025/2/9
func (g *Generate) AddApiFromInAndOut(paramType reflect.Type, resultType reflect.Type) error { func (g *Generate) AddApiFromInAndOut(uriPrefix string, paramType reflect.Type, resultType reflect.Type) error {
if paramType.Kind() == reflect.Ptr { if paramType.Kind() == reflect.Ptr {
paramType = paramType.Elem() paramType = paramType.Elem()
} }
if resultType.Kind() == reflect.Ptr { if resultType.Kind() == reflect.Ptr {
resultType = resultType.Elem() resultType = resultType.Elem()
} }
baseCfg, err := g.parseBaseUriConfig(paramType) baseCfg, err := g.parseBaseUriConfig(uriPrefix, paramType)
if nil != err { if nil != err {
return err return err
} }
@ -616,7 +616,7 @@ func (g *Generate) setStructFieldProperty(schemaName string, structField reflect
// Author : go_developer@163.com<白茶清欢> // Author : go_developer@163.com<白茶清欢>
// //
// Date : 15:13 2025/2/14 // Date : 15:13 2025/2/14
func (g *Generate) parseBaseUriConfig(paramType reflect.Type) (*define.UriBaseConfig, error) { func (g *Generate) parseBaseUriConfig(uriPrefix string, paramType reflect.Type) (*define.UriBaseConfig, error) {
// 解析meta信息 // 解析meta信息
metaField, metaFieldExist := paramType.FieldByName("Meta") metaField, metaFieldExist := paramType.FieldByName("Meta")
if !metaFieldExist { if !metaFieldExist {
@ -635,6 +635,9 @@ func (g *Generate) parseBaseUriConfig(paramType reflect.Type) (*define.UriBaseCo
Deprecated: false, Deprecated: false,
} }
res.Uri = metaField.Tag.Get(define.TagPath) res.Uri = metaField.Tag.Get(define.TagPath)
if len(uriPrefix) > 0 {
res.Uri = strings.TrimRight(uriPrefix, "/") + strings.TrimLeft(res.Uri, "/")
}
res.Method = strings.ToUpper(metaField.Tag.Get(define.TagMethod)) res.Method = strings.ToUpper(metaField.Tag.Get(define.TagMethod))
res.Description = metaField.Tag.Get(define.TagDesc) res.Description = metaField.Tag.Get(define.TagDesc)
res.TagList = strings.Split(metaField.Tag.Get(define.TagUriTag), ",") res.TagList = strings.Split(metaField.Tag.Get(define.TagUriTag), ",")