Redian新闻
>
用 函数式语言 自动生成 SDK
avatar
a*b
2
最近有个需求,就是要给几个http request写个R language的SDK来发出这好几个http
request。
要写的http request太多了,而且end point还在调整,所以打算走代码生成的路
试了一下这个package的R-sdk generator,确实能用,打算就用这个:
https://github.com/Kong/httpsnippet
在尝试用scala来parse Postman collection echo endpoint那37 个request做test
cases。
这里有个网站,把postman collection echo endpoint的json export出来,复制粘贴
,就可以生成case class:
https://transform.tools/json-to-scala-case-class
但是要怎么要才能处理 整个json呢?因为postman json里面的case class存在
optional,试了play json,感觉没搞出来,有大牛愿意给个代码指导一下吗?
这里提供一个driver code:
import scala.util.{Failure, Success, Try}
import play.api.libs.json.{JsObject, JsValue, Json}
object PostmanParser extends App {
val postman_collections = "./Postman_Echo.postman_collection.json"
val jsonifiedString = scala.io.Source.fromFile(postman_collections).
mkString
val myJsonData = Try(Json.parse(jsonifiedString)).map(_.as[RootInterface])
myJsonData match {
case Success(myValue) => // compare your case class here
// println(myValue.info._postman_id)
case Failure(err) => println("none")
throw new Exception("couldnt parse: ",err)
}
}
RootInterface是case class,可以自行查阅play json的用法。欢迎使用其他json
library。想看看scala或者java能不能做出来。按道理javascript和python应该能做,
但是python会用到很多次json.load()
avatar
l*a
3
某个f开头的id说话就跟放屁一样,可以在本版搜搜他其他言论,比如关于uber的,就
知道丫不是一般的心理扭曲。。。
avatar
f*o
4
f就是tmd心里扭曲,变态
avatar
C*1
5
同意。 就是个心理变态的二逼。
[在 Emerald01 (Emerald) 的大作中提到:]
:Re
avatar
h*e
6
那哥们估计没用过OPT EXTENSION之类的?
莫非是假结婚,或者偷渡客,或者是找个美国gay结婚搞了个绿卡?
瞧不起空降的,也嘲笑期望OPT extension的,我就奇怪了,
是他妈的吃屎长大的,还是他妈吃屎长大的?

【在 E*******1 的大作中提到】
: Re
avatar
p*r
7
你这个逻辑不对:
前提条件:
#1 吃屎长大的是狗,是static不可改变
#2 他妈是他妈的父类class,
if(他妈的吃屎长大的) ob=dog;
if(他妈吃屎长大的) ob.Parent=dog;
但是问题就来了
if(ob==dog)ob.Parent=dog;
if(ob.Parent==dog)ob=dog;
所以你这句话应该改成 是他妈的和他妈吃屎长大的 or 是他妈的和他妈都不是吃屎长
大的

【在 h******e 的大作中提到】
: 那哥们估计没用过OPT EXTENSION之类的?
: 莫非是假结婚,或者偷渡客,或者是找个美国gay结婚搞了个绿卡?
: 瞧不起空降的,也嘲笑期望OPT extension的,我就奇怪了,
: 是他妈的吃屎长大的,还是他妈吃屎长大的?

avatar
h*e
8
还是你牛啊

【在 p**r 的大作中提到】
: 你这个逻辑不对:
: 前提条件:
: #1 吃屎长大的是狗,是static不可改变
: #2 他妈是他妈的父类class,
: if(他妈的吃屎长大的) ob=dog;
: if(他妈吃屎长大的) ob.Parent=dog;
: 但是问题就来了
: if(ob==dog)ob.Parent=dog;
: if(ob.Parent==dog)ob=dog;
: 所以你这句话应该改成 是他妈的和他妈吃屎长大的 or 是他妈的和他妈都不是吃屎长

avatar
G*I
9
你牛逼,跟f这种老婆被人操,老豆被人扇的人还码这么多字。

【在 p**r 的大作中提到】
: 你这个逻辑不对:
: 前提条件:
: #1 吃屎长大的是狗,是static不可改变
: #2 他妈是他妈的父类class,
: if(他妈的吃屎长大的) ob=dog;
: if(他妈吃屎长大的) ob.Parent=dog;
: 但是问题就来了
: if(ob==dog)ob.Parent=dog;
: if(ob.Parent==dog)ob=dog;
: 所以你这句话应该改成 是他妈的和他妈吃屎长大的 or 是他妈的和他妈都不是吃屎长

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。