From f527bc65230f152ef178e577611c71f067e309f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Harrtell?= Date: Mon, 15 Jun 2020 14:39:04 +0200 Subject: [PATCH] Should not parse values --- .../QueryParameterServices/FilterService.cs | 17 ++--------------- .../QueryParameters/FilterServiceTests.cs | 1 + 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/JsonApiDotNetCore/QueryParameterServices/FilterService.cs b/src/JsonApiDotNetCore/QueryParameterServices/FilterService.cs index ae9fbfaa15..4c10cb099c 100644 --- a/src/JsonApiDotNetCore/QueryParameterServices/FilterService.cs +++ b/src/JsonApiDotNetCore/QueryParameterServices/FilterService.cs @@ -87,22 +87,9 @@ private List GetFilterQueries(string parameterName, StringValues pa // expected input = filter[id]=eq:1 var propertyName = parameterName.Split(QueryConstants.OPEN_BRACKET, QueryConstants.CLOSE_BRACKET)[1]; var queries = new List(); - // InArray case string op = GetFilterOperation(parameterValue); - if (op == FilterOperation.@in.ToString() || op == FilterOperation.nin.ToString()) - { - var (_, filterValue) = ParseFilterOperation(parameterValue); - queries.Add(new FilterQuery(propertyName, filterValue, op)); - } - else - { - var values = ((string)parameterValue).Split(QueryConstants.COMMA); - foreach (var val in values) - { - var (operation, filterValue) = ParseFilterOperation(val); - queries.Add(new FilterQuery(propertyName, filterValue, operation)); - } - } + var (_, filterValue) = ParseFilterOperation(parameterValue); + queries.Add(new FilterQuery(propertyName, filterValue, op)); return queries; } diff --git a/test/UnitTests/QueryParameters/FilterServiceTests.cs b/test/UnitTests/QueryParameters/FilterServiceTests.cs index ce62ac9ef2..d34a8c8830 100644 --- a/test/UnitTests/QueryParameters/FilterServiceTests.cs +++ b/test/UnitTests/QueryParameters/FilterServiceTests.cs @@ -43,6 +43,7 @@ public void CanParse_FilterService_FailOnMismatch() [Theory] [InlineData("title", "", "value")] [InlineData("title", "eq:", "value")] + [InlineData("title", "eq:", "val,ue")] [InlineData("title", "lt:", "value")] [InlineData("title", "gt:", "value")] [InlineData("title", "le:", "value")]