【问题标题】:RAML formParameters not making it to post method signatureRAML formParameters 无法发布方法签名
【发布时间】:2016-04-15 20:06:20
【问题描述】:

当我的 raml 定义指定我的服务的 post 方法需要 json 时,生成的 post 方法正确地采用了一个封装该 json 并符合我的架构的对象。

但是,并不是我把post方法改成接受application/x-www-form-encoded formParameters,而是生成的post方法不包含每个参数对应的实参。我的预期是错的吗?

之前和工作:

post:
  description: blah
  body:
  application/json:
    schema: myschema
    example: !include myexample_request_json.json

这会生成一个带有签名的 post 方法:

public Response post(final Myrequest myrequest)

但是将 RAML 更改为:

post:
  description: blah
  body:
    application/x-www-form-urlencoded:
      formParameters:
        myparam1:
          description: aaa
          required: true
          type: string

我希望生成的 post 方法是:

public Response post(final String myparam1)

但实际上是:

public Response post()

有人能解释一下为什么吗?

谢谢,

保罗

【问题讨论】:

  • 你用什么来生成你的方法?

标签: raml


【解决方案1】:

我假设您在写formParameters 时错过了e 的字母。注意你有formParamters

我建议您检查 API Designer 作为编辑 RAML 文件的工具。

编辑

所以,看来这不是拼写错误。不幸的是,我无法解释为什么它会以这种方式生成,但我可以建议你如何实现它会生成你

public Response post(final String myparam1)

因此,您可以使用queryParameters,而不是使用formParameters 和特定类型的内容:

  post:
    description: blah        
    queryParameters:    
      myparam1:
        description: aaa
        required: true
        type: string

【讨论】:

  • 抱歉 - 实际 RAML 中的拼写是正确的。是我的帖子错了(现已更正)。
  • 好的,我编辑了我的答案,看看这是否有帮助,如果你解决了问题,请分享你的答案。
  • 感谢您的回复。原来这是生成代码的 maven 插件中的一个错误。解决该错误解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多