我有一个带有函数的 REST API,它返回一个数字(对我来说是作品集)并向其添加 1,依此类推,如果我使用 API URL 从 Postam 运行该函数,它将返回我想要的,到目前为止一切都很好。现在我如何命令从 C# 执行该函数?我不会将参数传递给它,我只是希望它执行该函数并且返回的响应是一个 json_encode(消息)。我知道它可以用 webclient downloadstring(url api) 来完成,但它不返回 json,它只返回 null。欢迎任何帮助。提前致谢。
这里是PHP中的代码:
else if($_GET['url'] == "folio")
{
$respuesta = Clientes::ObtenerFolio();
$contenedor = array();
if($respuesta)
{
$contenedor["resultado"]="OK";
$contenedor["datos"]= $respuesta;
echo json_encode($contenedor);
}
else
{
echo json_encode(array(
"resultado" => 'NONE',
"mensaje" =>'No se pudo asignar folio al cliente'
));
}
这是来自 C# winforms:
try
{
string responsebody;
HttpClient cliente = new HttpClient();
HttpResponseMessage response = await cliente.GetAsync("http://www.mipagina.mx/WebService/folio");
response.EnsureSuccessStatusCode();
responsebody = await response.Content.ReadAsStringAsync();
dynamic datosdes = JsonConvert.DeserializeObject(responsebody);
string mjsserver = datosdes.resultado;
string msjservernot = datosdes.datos;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
这个: http: //www.mipagina.mx/WebService/folio ”,它返回任何结果吗?如果它不起作用,那么你的休息端点是错误的
在我看来,您必须做的是这样的事情:
好吧,感谢那些评论的人,C# 中的所有内容都是正确的,但是在 PHP 中我收到了所有内容,
$_SERVER['REQUEST_METHOD'] == "POST"
很明显,我从 C# 中这样做GetAsync
是因为它永远不会返回“某物”,所以我做了 else if 在之后POST
所以$_SERVER['REQUEST_METHOD'] == "GET"
在里面我放了这将返回 json,然后我们游泳,我在 C# 中反序列化它,就是这样。谢谢你们。