API Gateway [message Not Found]

0

Hi there,

I have API Gateway with HTTP integration pointing to an external webservice. Currently, we can hit the webservice directly by using its IP address to retrieve various json files. Sample requests are: http://xxx.xxx.xxx.xxx/req.json http://xxx.xxx.xxx.xxx/req2.json http://xxx.xxx.xxx.xxx/req3.json

However, when we try to hit the API Gateway, we get {"message":"Not Found"} When we looked at the internal logs of the webservice, we noticed that requests from the API Gateway aren't hitting our webservice. We don't have any restrictions on the firewall as we're using the same endpoint for other services hosted in Azure.

Can you please advise what could be the problem?

preguntada hace un año9701 visualizaciones
3 Respuestas
4
Respuesta aceptada

Hi, since you didn't create any stage, that means that you're the default stage '$default'. The route that you configured isn't correct and you need to set the route to $default and add the integration to your webservice endpoint like http://webservice_url

To rectify this, first delete all the existing routes and then follow these steps:

  1. Go to your API Gateway and select Route
  2. Click Create
  3. Leave the Any method as is and type in the path $default without a leading slash.
  4. Click on Attach integration and select your webservice endpoint

Eventually, this is how it should look like:

Routes:

Enter image description here

Integrations:

Enter image description here

profile pictureAWS
mml
respondido hace un año
profile pictureAWS
EXPERTO
revisado hace un año
0

Hi,

{"message":"Not Found"} is technically an HTTP 404 status code. It looks like the API Gateway routing isn't set correctly, meaning that you're trying to fetch an item that doesn't exist in the requested path or you're using incorrect path in the requested URL.

Can you provide some details on what the API gateway routing and stages look like?

Also what's the URL path that you're using when hitting the API gateway?

profile pictureAWS
mml
respondido hace un año
  • Hello

    When we created the API Gateway we didn't specify any stage. It was left to AWS to decide which stage to be used.

    As for routes, we tried using the following and none of them worked.

    / GET / ANY {proxy+}

    the URL that we're using on our clients is:

    https://api_gateway_url/req11.json

    In our testing we used Postman and Curl and both are showing the same result.

0
  • This can also happen if you have "Default endpoint" set to Disabled and are not using a custom domain to access the API. Disabled default endpoint
  • I also later had this happen from my backend rerouting to add an ending slash to my route and API Gateway treating that as a separate endpoint... This was hard to notice it was even happening. Best fix for me was to stop the reroute on my backend.
respondido hace 23 días

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas