Como conectar um APP Flutter a uma API .NET local usando MacOs
Olá Devs, quem é Dev backend .NET e que gosta do Flutter pode ter passado por esse problema de como apontar seu APP em Flutter para a API local em .NET para um possível Debug ou somente para validar as informações. Pois é, eu penei para achar isso, principalmente usando Mac e é mais simples do que se pode imaginar
A primeira coisa a fazer é saber qual o IP da sua máquina. Ainda não sei por que pitomba o Flutter não enxerga o localhost no Mac. Mas suponhamos que seu IP seja 192.168.10.1, você terá que subir sua API utilizando esse IP. Na linha de comando basta digitar.
dotnet watch run —urls “192.168.10.1:5000”
A porta pode ser a que desejar ou que estiver liberada.
No VS Code, caso queira um debug, no arquivo launch.json, que fica na pasta .vscode e que você um dia configurou para debugar. Se nunca fez isso volta para o Windows! Inclua a tag args no configurations.
"args": ["--urls", "192.168.10.1:5000"],
Segue um exemplo:
{
"version": "0.2.0",
"configurations": [
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": “${workspaceFolder}/bin/WebApi.dll",
"args": ["--urls", "192.168.10.1:5000"],
"cwd": "${workspaceFolder}/src/PSC.WebApi",
"stopAtEntry": false,
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
"serverReadyAction": {
"action": "openExternally",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
}
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}
Muito simples e fácil.
Se conhece outra forma deixe seu comentário. E se souber o motivo do flutter não ver o localhost deixe também.
Obrigado pela leitura e bom código!