Este artigo é parte da série:

Criando Aplicação Completa REST API Utilizando C#,Visual Studio e .NET Core
De forma simples e direta ao código, como criar e publicar um REST API com .NET Core desde a criação do código até a publicação e configuração de sevidores.
Funções:
file_get_contents(URI): Armazena em uma variável o retorno da API chamada no parâmetro.
json_decode(Variável): Transforma em objeto a variável, cujo conteúdo é um JSON.
Para que a função file_get_contents funcione normalmente, é necessário que a seguinte diretiva esteja liberada em “php.ini”:
allow_url_fopen = 1
Pode ser que em alguns casos você não tenha acesso ao arquivo “php.ini” do seu site ou, mesmo adicionando a diretiva a função continue sem funcionar, reportando o erro:
Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0
Se for o caso, a seguinte função contorna o problema de forma bem eficiente:
function CarregaConteudo($URL)
{
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $URL);
$ret = curl_exec($c);
curl_close($c);
return $ret;
}
No lugar de usar
$reponse = file_get_contents($url);
Use
$reponse = CarregaConteudo($url);No exemplo abaixo, consumindo a API do ViaCEP, que mostra todos os dados de um CEP consultado.
<?php
$CEP = "";
$Rua = "";
$Bairro = "";
$Cidade = "";
$UF = "";
$Regiao = "";
$DDD = "";
$IBGE = "";
$GIA = "";
$SIAFI = "";
if (isset($_POST['cmdEnvia'])) {
$CEP = $_POST['cep'];
$Consulta = 'https://viacep.com.br/ws/' . $CEP . '/json';
$response = file_get_contents($Consulta);
$obj = json_decode($response);
$CEP = $obj->cep;
$Rua = $obj->logradouro;
$Bairro = $obj->bairro;
$Cidade = $obj->localidade;
$UF = $obj->uf;
$Regiao = $obj->regiao;
$DDD = $obj->ddd;
$IBGE = $obj->ibge;
$GIA = $obj->gia;
$SIAFI = $obj->siafi;
}
?>
<html>
<head>
<title>Treino CEP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="<?php echo str_replace('%7E','~',$_SERVER['REQUEST_URI']); ?>" method="post" name="ConsultaCEP" autocomplete="off">
<table>
<tr>
<td>CEP</td>
<td><input name="cep" type="text" id="cep" value="<?php echo $CEP; ?>" size="10" maxlength="9" /></td>
</tr>
<tr>
<td>Logradouro</td>
<td><input name="rua" type="text" id="rua" size="60" value="<?php echo $Rua; ?>" /></td>
</tr>
<tr>
<td>Bairro</td>
<td><input name="bairro" type="text" id="bairro" size="40" value="<?php echo $Bairro; ?>" /></td>
</tr>
<tr>
<td>Cidade</td>
<td><input name="cidade" type="text" id="cidade" size="40" value="<?php echo $Cidade; ?>" /></td>
</tr>
<tr>
<td>UF</td>
<td><input name="uf" type="text" id="uf" size="2" value="<?php echo $UF; ?>" /></td>
</tr>
<tr>
<td>Região</td>
<td><input name="regiao" type="text" id="regiao" size="40" value="<?php echo $Regiao; ?>" /></td>
</tr>
<tr>
<td>DDD</td>
<td><input name="ddd" type="text" id="ddd" size="8" value="<?php echo $DDD; ?>" /></td>
</tr>
<tr>
<td>IBGE</td>
<td><input name="ibge" type="text" id="ibge" size="8" value="<?php echo $IBGE; ?>" /></td>
</tr>
<tr>
<td>GIA</td>
<td><input name="gia" type="text" id="gia" size="8" value="<?php echo $GIA; ?>" /></td>
</tr>
<tr>
<td>SIAFI</td>
<td><input name="siafi" type="text" id="siafi" size="8" value="<?php echo $SIAFI; ?>" /></td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="cmdEnvia" id="cmdEnvia" value="Consulta" />
</td>
</tr>
</table>
</form>
</body>
</html>
