mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 02:33:54 +00:00 
			
		
		
		
	added scala json mapper
This commit is contained in:
		
							parent
							
								
									cec3fa5810
								
							
						
					
					
						commit
						44d018b642
					
				@ -1,6 +1,5 @@
 | 
				
			|||||||
package {{package}}
 | 
					package {{package}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.wordnik.swagger.core.util.JsonUtil
 | 
					 | 
				
			||||||
import com.sun.jersey.api.client.Client
 | 
					import com.sun.jersey.api.client.Client
 | 
				
			||||||
import com.sun.jersey.api.client.ClientResponse
 | 
					import com.sun.jersey.api.client.ClientResponse
 | 
				
			||||||
import com.sun.jersey.api.client.config.ClientConfig
 | 
					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.JavaConverters._
 | 
				
			||||||
import scala.collection.mutable.HashMap
 | 
					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 {
 | 
					object ApiInvoker {
 | 
				
			||||||
 | 
					  val mapper = ScalaJsonUtil.getJsonMapper
 | 
				
			||||||
  val defaultHeaders: HashMap[String, String] = HashMap()
 | 
					  val defaultHeaders: HashMap[String, String] = HashMap()
 | 
				
			||||||
  val hostMap: HashMap[String, Client] = HashMap()
 | 
					  val hostMap: HashMap[String, Client] = HashMap()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -33,14 +52,14 @@ object ApiInvoker {
 | 
				
			|||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      containerType match {
 | 
					      containerType match {
 | 
				
			||||||
        case "List" => {
 | 
					        case "List" => {
 | 
				
			||||||
          val typeInfo = JsonUtil.getJsonMapper.getTypeFactory().constructCollectionType(classOf[java.util.List[_]], cls)
 | 
					          val typeInfo = mapper.getTypeFactory().constructCollectionType(classOf[java.util.List[_]], cls)
 | 
				
			||||||
          val response = JsonUtil.getJsonMapper.readValue(json, typeInfo).asInstanceOf[java.util.List[_]]
 | 
					          val response = mapper.readValue(json, typeInfo).asInstanceOf[java.util.List[_]]
 | 
				
			||||||
          response.asScala.toList
 | 
					          response.asScala.toList
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        case _ => {
 | 
					        case _ => {
 | 
				
			||||||
          json match {
 | 
					          json match {
 | 
				
			||||||
            case e: String if ("\"\"" == e) => null
 | 
					            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 = {
 | 
					  def serialize(obj: AnyRef): String = {
 | 
				
			||||||
    if (obj != null) {
 | 
					    if (obj != null) {
 | 
				
			||||||
      obj match {
 | 
					      obj match {
 | 
				
			||||||
        case e: List[_] => JsonUtil.getJsonMapper.writeValueAsString(obj.asInstanceOf[List[_]].asJava)
 | 
					        case e: List[_] => mapper.writeValueAsString(obj.asInstanceOf[List[_]].asJava)
 | 
				
			||||||
        case _ => JsonUtil.getJsonMapper.writeValueAsString(obj)
 | 
					        case _ => mapper.writeValueAsString(obj)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    } else null
 | 
					    } else null
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
@ -4,9 +4,9 @@ package {{package}}
 | 
				
			|||||||
{{/imports}}
 | 
					{{/imports}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{{#models}}
 | 
					{{#models}}
 | 
				
			||||||
import scala.reflect.BeanProperty
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
{{#model}}
 | 
					{{#model}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case class {{classname}} (
 | 
					case class {{classname}} (
 | 
				
			||||||
  {{#vars}}
 | 
					  {{#vars}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user