小编Joe*_*oel的帖子

布尔返回方法的Kotlin命名约定

如何知道布尔返回方法的命名约定是什么?对于某些情况,使用'is','has','should','can'在方法前面的声音确定.但我不确定.有没有更好的方法来命名这样的方法?例如:检查卡的验证的功能.我应该称之为isValidCard或cardValidation还是其他名称?(我在这里找不到它:https://kotlinlang.org/docs/reference/coding-conventions.html)

naming-conventions kotlin

14
推荐指数
3
解决办法
3878
查看次数

Ruby on rails休息客户端,处理错误响应

我是红宝石的新手(也是编程)

我已经构建了这段代码:

    #This method executing a url and give the response in json format
    def get url
      return JSON.parse(RestClient::Request.execute(method: :get, url: url))
    end
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试处理一个案例,任何网址的响应代码都不正常,我想用错误消息"error"替换它

我试图用这段代码替换get方法:

def get url
 if ((RestClient::Request.execute(method: :get, url: url)).code == 200)
    return JSON.parse(RestClient::Request.execute(method: :get, url: url))
 else
  error = "error"
    return  error.as_json
 end
end
Run Code Online (Sandbox Code Playgroud)

但是如果来自网址的响应不是200,我收到错误消息"406不可接受"而不是"错误"

提前致谢

json ruby-on-rails rest-client

4
推荐指数
1
解决办法
3124
查看次数

使用渲染后如何停止控制器执行?(使用Ruby on Rails)

我有这个方法:

 def index
  urls = parse_urls(params[:urls])

  responses = Parallel.map (urls) do |url|
    begin
     get url
    rescue  RestClient::Exception
      case params[:errors]
      when 'fail_any'
      render :json => fail_any
      when 'replace'
      replace
      else
      render :json => { :error => 'UNKNOWN_ERROR_TYPE'},status: 400
      end
       {:result=>'failed'}
    end
  end
Run Code Online (Sandbox Code Playgroud)

但我想在渲染后停止控制器执行.我试图在渲染后添加break但是我收到一条错误消息

并行:: DeadWorker

Marshal.load(读取)rescue EOFError如果ExceptionWrapper ===结果导致DeadWorker结束提升result.exception

谢谢,乔尔

ruby rubygems ruby-on-rails

3
推荐指数
2
解决办法
4371
查看次数

将ByteArrayOutputStream转换为Kotlin中的json

我正在尝试为2个服务创建一个资源,1个在application/x-www-form-urlencoded和string payload中,另一个应用程序/ json格式用json body.

我有这个代码:

@POST @Path("/test")
fun test(@Context request: ContainerRequest): Response {
    val baos = ByteArrayOutputStream()
    request.entityStream.use { it.copyTo(baos) }
    val ipnRawData = baos.toString()
    var map : Map<String,Any>
    map = when (request.headers.getFirst("Content-Type")) {
        "application/json" -> objectMapper.convertValue(ipnRawData,Map::class.java) as Map<String,Any>
        "application/x-www-form-urlencoded" -> LinkedHashMap()
        else -> throw UnsupportedOperationException()
    }
    //....handle the map
    return Response.status(200).build()
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用json选项和body :)运行它时{"name" :"test"},我收到一个错误:

"java.lang.IllegalArgumentException:无法构造java.util.LinkedHashMap的实例:no String-argument构造函数/工厂方法从String值反序列化('{"name":"test"}')"

谢谢你的帮助,Yoel

json jackson kotlin

0
推荐指数
1
解决办法
981
查看次数