c# - 如何从客户端访问发布的服务器 json 数据
问题描述
我正在使用 net 2.1 和 angular 6 编写我的第一个应用程序。我可以使用 C# 在 Visual Studio 的 iis express 网页上发布来自 net 2.1 的 json 数据。
我能够将数据从前端 angular/typscript 发布到服务器。我对数据执行计算并将 json 结果发布在 iis express 服务器网页上。如何使用角度获取该数据?
这是我的 Angular api 服务文件,允许我发布到服务器
export class ApiService {
private handleError: HandleError;
constructor(
private http: HttpClient,
httpErrorHandler: HttpErrorHandler) {
this.handleError = httpErrorHandler.createHandleError('HeroesService');
}
stock: StockComponent ;
stockURL = 'https://localhost:44310/api/stock'
/** POST: */
postStock (stock) {
console.log('stock is ', stock);
this.http.post(this.stockURL, stock).subscribe(res => {
console.log(res)
})
}
getBuySellData(){
return this.http.get('https://localhost:44310/api/stock');
}
}
这是组件文件:
export class StockComponent {
stock = {}
constructor(private api: ApiService){
}
post(stock){
console.log('this is the stock ', stock)
this.api.postStock(stock)
}
这是视觉工作室中控制器的一部分
[HttpPost]
public async Task<IActionResult> Post([FromBody]Models.Stock stock)
{
_context.Stocks.Add(stock);
await _context.SaveChangesAsync();
return Ok(stock);
}
[HttpGet]
public IEnumerable<DateCloseBuySell> GetQuote()
{
string responseString = string.Empty;
解决方案
我在 Xamarin.Forms 中遇到了类似的问题。
为了解决它,我做了类似的事情:
private const string Url = "https://localhost:44310/api/stock";
private HttpClient _client = new HttpClient();
protected async void OnGetList()
{
if (CrossConnectivity.Current.IsConnected)
{
try
{
var content = await _client.GetStringAsync(Url);
var list = JsonConvert.DeserializeObject<List<Model>>(content);
}
catch (Exception e)
{
Debug.WriteLine("", e);
}
}
}
推荐阅读
- ios - 未调用 Bitmovin iOS PreprocessHttpRequestDelegate
- java - 使用 mapstruct 克隆没有 id 的对象
- google-bigquery - 如何更新计划的脚本查询,包括 BigQuery 中的 DML 语句?
- angular - 如果 Angular 的本地存储中有数据,如何将默认主页路径“”更改为不同的路由
- javascript - 在 Playwright 中使用关键字数组并循环遍历脚本
- spring - spring-boot中如何实现行级授权?
- excel - Excel VBA:如何让 COUNTIF 函数不将文本单元格“1.1”和“1.10”作为重复项?
- configuration - Hue 和 Impala 连接问题 Thrift Handle 异常
- python - Pymongo 和更新记录
- node.js - 未找到模块:错误:无法解析 'D:\laravel projects\codeGram\resources\js\components' 中的 '../../../vue-temp/vue-editor-bridge'