Entonces, como dice el título, el problema es que envío una solicitud desde Vue usando axios que tiene datos sobre los parámetros cuando los envío (lo veo usando un archivo console.log), pero cuando recibo la solicitud en C# (. NET Core) esos parámetros son nulos. Si se necesita más información o código, házmelo saber.
Gracias.
Vista:
methods: { translate() { //This log RETURNS DATA, so parameters aren't null at this moment console.log(this.textToTranslate, this.fromLanguage, this.toLanguage); axios .post( "http://localhost:5000/api/Translate", { TranslateRequest: { textToTranslate: this.textToTranslate, fromLanguage: this.fromLanguage, toLanguage: this.toLanguage, }, }, { headers: { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, POST, PATCH, PUT, DELETE, OPTIONS", "Access-Control-Allow-Headers": "Origin, Content-Type, X-Auth-Token", }, } ) .then((res) => { console.log(res); this.translatedText = res.data; }) .catch((err) => { console.log(err.response); alert(err.response); }); }, },C#:
[ApiController] [Route("api/[controller]")] public class TranslateController : ControllerBase { [EnableCors("AllowOrigin")] [HttpGet] public string GetTranslatedText(TranslateRequest request) { //request object isn't null but their parameters are return TranslateText(request); } }Tu problema está aquí:
{ "TranslateRequest":{ "textToTranslate":"this.textToTranslate", "fromLanguage":"this.fromLanguage", "toLanguage":"this.toLanguage" } }Pase los datos de la siguiente manera:
{ "textToTranslate":"this.textToTranslate", "fromLanguage":"this.fromLanguage", "toLanguage":"this.toLanguage" }