Compare commits
3 Commits
master
...
feature/se
Author | SHA1 | Date | |
---|---|---|---|
|
659e3bd4d9 | ||
|
7e3cd2142a | ||
|
b111ce2c2c |
@ -1,4 +1,5 @@
|
|||||||
using BitSearch.API.Models;
|
using BitSearch.API.Models;
|
||||||
|
using BitSearch.API.Services;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.WebUtilities;
|
using Microsoft.AspNetCore.WebUtilities;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
@ -24,12 +25,15 @@ namespace BitSearch.API.Controllers
|
|||||||
private readonly ILogger<SearchController> _logger;
|
private readonly ILogger<SearchController> _logger;
|
||||||
private readonly IConfiguration Configuration;
|
private readonly IConfiguration Configuration;
|
||||||
private readonly IHttpClientFactory _httpClientFactory;
|
private readonly IHttpClientFactory _httpClientFactory;
|
||||||
|
private readonly IAnaliseService _analiseService;
|
||||||
|
|
||||||
public SearchController(ILogger<SearchController> logger, IConfiguration configuration, IHttpClientFactory httpClientFactory)
|
public SearchController(ILogger<SearchController> logger, IConfiguration configuration, IHttpClientFactory httpClientFactory,
|
||||||
|
IAnaliseService analiseService)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_httpClientFactory = httpClientFactory;
|
_httpClientFactory = httpClientFactory;
|
||||||
Configuration = configuration;
|
Configuration = configuration;
|
||||||
|
_analiseService = analiseService;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("ranking")]
|
[HttpGet("ranking")]
|
||||||
@ -94,12 +98,9 @@ namespace BitSearch.API.Controllers
|
|||||||
{
|
{
|
||||||
var tweetsDto = JsonConvert.DeserializeObject<TweeterResponse>(await response.Content.ReadAsStringAsync());
|
var tweetsDto = JsonConvert.DeserializeObject<TweeterResponse>(await response.Content.ReadAsStringAsync());
|
||||||
tweetsDto.data = tweetsDto.data.Where(d => d.lang == "en");
|
tweetsDto.data = tweetsDto.data.Where(d => d.lang == "en");
|
||||||
var microServiceClient = _httpClientFactory.CreateClient();
|
var analise = await _analiseService.AnaliseTweets(tweetsDto);
|
||||||
var microServiceRequest = new HttpRequestMessage(HttpMethod.Get, "http://127.0.0.1:5000/analysis");
|
|
||||||
microServiceRequest.Content = JsonContent.Create(tweetsDto);
|
|
||||||
var microServiceResponse = await microServiceClient.SendAsync(microServiceRequest);
|
|
||||||
|
|
||||||
return Ok(await microServiceResponse.Content.ReadAsStringAsync());
|
return Ok(analise);
|
||||||
//return Ok(tweetsDto);
|
//return Ok(tweetsDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
BitSearch/BitSearch.API/Services/IAnaliseService.cs
Normal file
13
BitSearch/BitSearch.API/Services/IAnaliseService.cs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
using BitSearch.API.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BitSearch.API.Services
|
||||||
|
{
|
||||||
|
public interface IAnaliseService
|
||||||
|
{
|
||||||
|
Task<string> AnaliseTweets(TweeterResponse tweets);
|
||||||
|
}
|
||||||
|
}
|
18
BitSearch/BitSearch.API/Services/MoqAnalise.cs
Normal file
18
BitSearch/BitSearch.API/Services/MoqAnalise.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using BitSearch.API.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BitSearch.API.Services
|
||||||
|
{
|
||||||
|
public class MoqAnalise : IAnaliseService
|
||||||
|
{
|
||||||
|
public Task<string> AnaliseTweets(TweeterResponse tweets)
|
||||||
|
{
|
||||||
|
var moqResponse = "result: {'pos_prec': 0.875, 'neg_prec': 0.125' }";
|
||||||
|
|
||||||
|
return Task.FromResult<string>(moqResponse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
28
BitSearch/BitSearch.API/Services/RealAnalise.cs
Normal file
28
BitSearch/BitSearch.API/Services/RealAnalise.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using BitSearch.API.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Json;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BitSearch.API.Services
|
||||||
|
{
|
||||||
|
public class RealAnalise : IAnaliseService
|
||||||
|
{
|
||||||
|
private readonly IHttpClientFactory _httpClientFactory;
|
||||||
|
public RealAnalise(IHttpClientFactory httpClientFactor)
|
||||||
|
{
|
||||||
|
_httpClientFactory = httpClientFactor;
|
||||||
|
}
|
||||||
|
public async Task<string> AnaliseTweets(TweeterResponse tweets)
|
||||||
|
{
|
||||||
|
var microServiceClient = _httpClientFactory.CreateClient();
|
||||||
|
var microServiceRequest = new HttpRequestMessage(HttpMethod.Get, "http://127.0.0.1:5000/analysis");
|
||||||
|
microServiceRequest.Content = JsonContent.Create(tweets);
|
||||||
|
var microServiceResponse = await microServiceClient.SendAsync(microServiceRequest);
|
||||||
|
|
||||||
|
return await microServiceResponse.Content.ReadAsStringAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
using BitSearch.API.Services;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.HttpsPolicy;
|
using Microsoft.AspNetCore.HttpsPolicy;
|
||||||
@ -28,6 +29,7 @@ namespace BitSearch.API
|
|||||||
{
|
{
|
||||||
|
|
||||||
services.AddControllers();
|
services.AddControllers();
|
||||||
|
services.AddScoped<IAnaliseService, RealAnalise>();
|
||||||
services.AddSwaggerGen(c =>
|
services.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
c.SwaggerDoc("v1", new OpenApiInfo { Title = "BitSearch.API", Version = "v1" });
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "BitSearch.API", Version = "v1" });
|
||||||
|
Loading…
Reference in New Issue
Block a user