Skip to content

Instantly share code, notes, and snippets.

@ryandavidhartman
Created March 23, 2017 23:44
Show Gist options
  • Save ryandavidhartman/96db73cf2655c3d54dbd7395668ea003 to your computer and use it in GitHub Desktop.
Save ryandavidhartman/96db73cf2655c3d54dbd7395668ea003 to your computer and use it in GitHub Desktop.
Sample autogenerated service proxy
package com.angieslist.example.client
import com.angieslist.example.model.GetAttributesForCategoryRequest
import com.angieslist.example.model.GetAttributesForCategoryResponse
import com.angieslist.example.model.GetCategoriesRequest
import com.angieslist.example.model.GetCategoriesResponse
import com.angieslist.example.model.GetQuestionsRequest
import com.angieslist.example.model.GetQuestionsResponse
import com.angieslist.example.model.GetSurveyRequest
import com.angieslist.example.model.GetSurveyResponse
import com.angieslist.example.model.GetTaxonomyRequest
import com.angieslist.example.model.GetTaxonomyRequest1
import com.angieslist.example.model.GetTaxonomyResponse
import com.angieslist.example.model.ListTaxonomiesResponse
import com.angieslist.common.play.json.formats._
import com.angieslist.common.play.service.external.authentication.{ AuthenticateRequest, AuthenticateResponse }
import com.angieslist.common.play.service.external.http.DispatchHttpProxyFactory
import com.angieslist.common.play.serialization.PlayJson._
import com.angieslist.common.serialization.{Decoder, Encoder}
import play.api.libs.json.Json._
import play.api.libs.json.Reads
class DefaultApi(baseUrl: String, httpServiceProxy: HttpServiceProxy) {
/**
*
* Retrieve Attributes for a Category
* @param request (optional)
* @return GetAttributesForCategoryResponse
*/
val v1GetAttributesForCategory = httpServiceProxy[GetAttributesForCategoryRequest, GetAttributesForCategoryResponse](s"$baseUrl/v1/taxonomy/category/attributes/get")
/**
*
* Retrieve Categories
* @param request (optional)
* @return GetCategoriesResponse
*/
val v1GetCategory = httpServiceProxy[GetCategoriesRequest, GetCategoriesResponse](s"$baseUrl/v1/taxonomy/category/get")
/**
*
* Retrieve a list of Questions and their Answers by ID
* @param request (optional)
* @return GetQuestionsResponse
*/
val v1GetQuestions = httpServiceProxy[GetQuestionsRequest, GetQuestionsResponse](s"$baseUrl/v1/taxonomy/survey/questions/get")
/**
*
* Retrieve a Survey for a Category in a given Taxonomy
* @param request (optional)
* @return GetSurveyResponse
*/
val v1GetSurvey = httpServiceProxy[GetSurveyRequest, GetSurveyResponse](s"$baseUrl/v1/taxonomy/survey/get")
/**
*
* Retreive a Taxonomy
* @param request (optional)
* @return GetTaxonomyResponse
*/
val v1GetTaxonomy = httpServiceProxy[GetTaxonomyRequest, GetTaxonomyResponse](s"$baseUrl/v1/taxonomy/get")
/**
*
* Retreive a list of available Taxonomies
* @param request (optional)
* @return ListTaxonomiesResponse
*/
val v1ListTaxonomy = httpServiceProxy[Any, ListTaxonomiesResponse](s"$baseUrl/v1/taxonomy/list")
/**
*
* Retreive a Taxonomy
* @param request (optional)
* @return GetTaxonomyResponse
*/
val v2GetTaxonomy = httpServiceProxy[GetTaxonomyRequest1, GetTaxonomyResponse](s"$baseUrl/v2/taxonomy/get")
}
object DefaultApiSerialization {
implicit val v1GetAttributesForCategoryRequestEncoder: Encoder[GetAttributesForCategoryRequest] = encoder(writes[GetAttributesForCategoryRequest])
implicit val v1GetAttributesForCategoryResponseDecoder: Decoder[GetAttributesForCategoryResponse] = decoder(reads[GetAttributesForCategoryResponse])
implicit val v1GetCategoryRequestEncoder: Encoder[GetCategoriesRequest] = encoder(writes[GetCategoriesRequest])
implicit val v1GetCategoryResponseDecoder: Decoder[GetCategoriesResponse] = decoder(reads[GetCategoriesResponse])
implicit val v1GetQuestionsRequestEncoder: Encoder[GetQuestionsRequest] = encoder(writes[GetQuestionsRequest])
implicit val v1GetQuestionsResponseDecoder: Decoder[GetQuestionsResponse] = decoder(reads[GetQuestionsResponse])
implicit val v1GetSurveyRequestEncoder: Encoder[GetSurveyRequest] = encoder(writes[GetSurveyRequest])
implicit val v1GetSurveyResponseDecoder: Decoder[GetSurveyResponse] = decoder(reads[GetSurveyResponse])
implicit val v1GetTaxonomyRequestEncoder: Encoder[GetTaxonomyRequest] = encoder(writes[GetTaxonomyRequest])
implicit val v1GetTaxonomyResponseDecoder: Decoder[GetTaxonomyResponse] = decoder(reads[GetTaxonomyResponse])
implicit val v1ListTaxonomyRequestEncoder: Encoder[Any] = encoder(writes[Any])
implicit val v1ListTaxonomyResponseDecoder: Decoder[ListTaxonomiesResponse] = decoder(reads[ListTaxonomiesResponse])
implicit val v2GetTaxonomyRequestEncoder: Encoder[GetTaxonomyRequest1] = encoder(writes[GetTaxonomyRequest1])
implicit val v2GetTaxonomyResponseDecoder: Decoder[GetTaxonomyResponse] = decoder(reads[GetTaxonomyResponse])
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment