Skip to content

Instantly share code, notes, and snippets.

@ezefranca
Last active February 17, 2017 10:06
Show Gist options
  • Save ezefranca/e8c6425303136bd6dfec to your computer and use it in GitHub Desktop.
Save ezefranca/e8c6425303136bd6dfec to your computer and use it in GitHub Desktop.
Acesso a API Olho Vivo da SPTrans em Swift (iOS)
+(NSString *)returnURL: (requestMethodGET)methodGET line:(id)line{
NSString *SPTrans = @"http://api.olhovivo.sptrans.com.br/v0";
switch (methodGET) {
case requestMethodGETLinhas: return [NSString stringWithFormat:@"%@/Linha/Buscar?termosBusca=%@", SPTrans, line]; break;
case requestMethodGETDetalhes: return [NSString stringWithFormat:@"%@/Linha/CarregarDetalhes?codigoLinha=%@", SPTrans, line] ;break;
case requestMethodGETParadas: return [NSString stringWithFormat:@"%@/Parada/Buscar?termosBusca=%@", SPTrans, line] ;break;
case requestMethodGETParadasPorLinha: return [NSString stringWithFormat:@"%@/Parada/BuscarParadasPorLinha?codigoLinha=%@", SPTrans, line] ;break;
case requestMethodGETParadasPorCorredor: return [NSString stringWithFormat:@"%@/Parada/BuscarParadasPorCorredor?codigoCorredor=%@", SPTrans, line] ;break;
case requestMethodGETCorredores: return [NSString stringWithFormat:@"%@/Corredor", SPTrans] ;break;
case requestMethodGETPosicaoDoVeiculo: return [NSString stringWithFormat:@"%@/Posicao?codigoLinha=%@", SPTrans, line] ;break;
case requestMethodGETLinha: return [NSString stringWithFormat:@"%@/Previsao/Linha?codigoLinha=%@", SPTrans, line] ;break;
case requestMethodGETParada: return [NSString stringWithFormat:@"%@/Previsao/Parada?codigoParada=%@", SPTrans, line] ;break;
}
return nil;
}
//
// SPTransOlhoVivo.swift
// InstaAPI
//
// Created by Ezequiel on 1/28/16.
import Foundation
import Alamofire
class SPTransOlhoVivo {
let BASE_URL_SPTRANS = "http://api.olhovivo.sptrans.com.br/v0"
let TOKEN = "cfd03d518181527ab8211864f0a436a705118b731569502a6420b7c0228daa4d"
func autenticar(){
Alamofire.request(.POST, BASE_URL_SPTRANS + "/Login/Autenticar?token=" + TOKEN)
.response { response in
print(response) // original URL request
}
}
func buscarDetalheLinha(termosBusca: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Linha/Buscar?termosBusca=" + termosBusca, completionHandler: completionHandler)
}
func carregarDetalhesLinha(codigoLinha: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Linha/CarregarDetalhes?codigoLinha=" + codigoLinha, completionHandler: completionHandler)
}
func buscarParada(termosBusca: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Parada/Buscar?termosBusca=" + termosBusca, completionHandler: completionHandler)
}
func buscarParadaPorLinha(codigoLinha: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Parada/BuscarParadasPorLinha?codigoLinha=" + codigoLinha, completionHandler: completionHandler)
}
func pegarPosicaoOnibus(codigoLinha: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Posicao?codigoLinha=" + codigoLinha, completionHandler: completionHandler)
}
func pegarTempoDeChegadaDeUmOnibusNaParada(codigoLinha: String, codigoParada: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Previsao?codigoParada=" + codigoParada + "&codigoLinha=" + codigoLinha, completionHandler: completionHandler)
}
func pegarTemposDeChegadaParada(codigoParada: String, completionHandler: (AnyObject?, NSError?) -> ()) {
genericGET("/Previsao/Parada?codigoParada=" + codigoParada, completionHandler: completionHandler)
}
func genericGET(url: String, completionHandler: (AnyObject?, NSError?) -> ()) {
Alamofire.request(.GET, BASE_URL_SPTRANS + url)
.responseJSON { response in
switch response.result {
case .Success(let value):
print(value)
completionHandler(value as? AnyObject, nil)
case .Failure(let error):
completionHandler(nil, error)
}
}
}
}
//Usando a API
let sptrans = SPTransOlhoVivo()
sptrans.autenticar()
sptrans.buscarDetalheLinha("Lapa") { (response, error) -> () in
print(response)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment