mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-31 14:00:54 +00:00
added scala json mapper
This commit is contained in:
parent
cec3fa5810
commit
44d018b642
@ -1,6 +1,5 @@
|
||||
package {{package}}
|
||||
|
||||
import com.wordnik.swagger.core.util.JsonUtil
|
||||
import com.sun.jersey.api.client.Client
|
||||
import com.sun.jersey.api.client.ClientResponse
|
||||
import com.sun.jersey.api.client.config.ClientConfig
|
||||
@ -13,7 +12,27 @@ import javax.ws.rs.core.MediaType
|
||||
import scala.collection.JavaConverters._
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
import com.fasterxml.jackson.module.scala.DefaultScalaModule
|
||||
import com.fasterxml.jackson.core.JsonGenerator.Feature
|
||||
import com.fasterxml.jackson.databind._
|
||||
import com.fasterxml.jackson.annotation._
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize
|
||||
|
||||
object ScalaJsonUtil {
|
||||
def getJsonMapper = {
|
||||
val mapper = new ObjectMapper()
|
||||
mapper.registerModule(new DefaultScalaModule())
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT)
|
||||
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
|
||||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY)
|
||||
mapper
|
||||
}
|
||||
}
|
||||
|
||||
object ApiInvoker {
|
||||
val mapper = ScalaJsonUtil.getJsonMapper
|
||||
val defaultHeaders: HashMap[String, String] = HashMap()
|
||||
val hostMap: HashMap[String, Client] = HashMap()
|
||||
|
||||
@ -33,14 +52,14 @@ object ApiInvoker {
|
||||
} else {
|
||||
containerType match {
|
||||
case "List" => {
|
||||
val typeInfo = JsonUtil.getJsonMapper.getTypeFactory().constructCollectionType(classOf[java.util.List[_]], cls)
|
||||
val response = JsonUtil.getJsonMapper.readValue(json, typeInfo).asInstanceOf[java.util.List[_]]
|
||||
val typeInfo = mapper.getTypeFactory().constructCollectionType(classOf[java.util.List[_]], cls)
|
||||
val response = mapper.readValue(json, typeInfo).asInstanceOf[java.util.List[_]]
|
||||
response.asScala.toList
|
||||
}
|
||||
case _ => {
|
||||
json match {
|
||||
case e: String if ("\"\"" == e) => null
|
||||
case _ => JsonUtil.getJsonMapper.readValue(json, cls)
|
||||
case _ => mapper.readValue(json, cls)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -50,8 +69,8 @@ object ApiInvoker {
|
||||
def serialize(obj: AnyRef): String = {
|
||||
if (obj != null) {
|
||||
obj match {
|
||||
case e: List[_] => JsonUtil.getJsonMapper.writeValueAsString(obj.asInstanceOf[List[_]].asJava)
|
||||
case _ => JsonUtil.getJsonMapper.writeValueAsString(obj)
|
||||
case e: List[_] => mapper.writeValueAsString(obj.asInstanceOf[List[_]].asJava)
|
||||
case _ => mapper.writeValueAsString(obj)
|
||||
}
|
||||
} else null
|
||||
}
|
||||
@ -114,4 +133,4 @@ class ApiException extends Exception {
|
||||
def this(code: Int, msg: String) = {
|
||||
this()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,9 +4,9 @@ package {{package}}
|
||||
{{/imports}}
|
||||
|
||||
{{#models}}
|
||||
import scala.reflect.BeanProperty
|
||||
|
||||
{{#model}}
|
||||
|
||||
case class {{classname}} (
|
||||
{{#vars}}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user