2015-09-10 14 views
7

Kaynağım Entegrasyon İsteği dahilinde bir eşleme şablonu kullanarak isteğe bağlı sorgu dizesi parametrelerini nasıl oluşturacağımı anlayamıyorum.AWS API Ağ Geçidi: Eşleme şablonunda sorgulama parametrelerini isteğe bağlı olarak nasıl yapabilirim?

Benim şablon şöyle görünür:

{ "limit": "$input.params('limit')", "post_date":"$input.params('post_date')" } 

Ben isteğe bağlı olarak 'sınır' & 'POST_DATE' istiyorum.

/myresource?limit=undefined& 

Beklediğim:

/myresource 

Docs bu kapsayacak şekilde görünmüyor Bu şablon bu parametrelerin temin edilmediğinde şöyle bir sorgu dizesi oluşturur. Koşullu işlevsellik sağlamak için bash benzeri bir sözdizimi kullanan belgelerde bazı örnek şablonlar buldum. Ben ancak AWS konsolunda doğrulamak ETMEYECEKTIR Aşağıdaki test denedim:

 #set($limit = $input.path('limit')) 
     { 
      #if($limit)"limit": "$input.params('limit')",#end 
     } 

Am I doğru yolda?

Teşekkürler!

+2

Hepinizin olası parametreleri tanımlamak ve sonra arka uç 'undefined' işlemek gerektiğini düşünüyorum. – kixorz

+0

'Lambda' arka uç olarak mı kullanıyorsunuz? – kixorz

+0

@napalm Şu an şu anda yapıyorum. Gerçekten mi AWS ?! Bu topal. Lambda -> Evet – Nick

cevap

3

Evet, bunu kesinlikle Api Gateway'de yapabilirsiniz; iyi belgelenmiş gibi görünmüyor olsa da!

Sorunuzda bunun bir parametre olduğunu belirttiniz; ama normalde POST isteğinin gövdesindeki bir öğeyi ifade eden input.path kullandınız. Aşağıdaki çalışması gerekir:

#set($limit = $input.params('limit')) 
{ 
#if($limit && $limit.length() != 0) 
"limit": "$input.params('limit')" 
#end 
} 

belgelerinde açısından, ben AWS Takip eden sayfa aslında oldukça yararlı olduğunu gördük. Yine de sahte uç noktaları hakkında bir bölüm tıkılıvermiştir:

http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-mock-integration.html