org.springframework.test.web.servlet.result

Class JsonPathResultMatchers

  • java.lang.Object
    • org.springframework.test.web.servlet.result.JsonPathResultMatchers
    • Constructor Summary

      Constructors 
      Modifier Constructor and Description
      protected JsonPathResultMatchers(java.lang.String expression, java.lang.Object... args)
      Protected constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      ResultMatcher doesNotExist()
      Evaluate the JSON path expression against the response content and assert that a non-null value does not exist at the given path.
      ResultMatcher doesNotHaveJsonPath()
      Evaluate the JSON path expression against the supplied content and assert that a value, including null values, does not exist at the given path.
      ResultMatcher exists()
      Evaluate the JSON path expression against the response content and assert that a non-null value, possibly an empty array or map, exists at the given path.
      ResultMatcher hasJsonPath()
      Evaluate the JSON path expression against the response content and assert that a value, possibly null, exists.
      ResultMatcher isArray()
      Evaluate the JSON path expression against the response content and assert that the result is an array.
      ResultMatcher isBoolean()
      Evaluate the JSON path expression against the response content and assert that the result is a Boolean.
      ResultMatcher isEmpty()
      Evaluate the JSON path expression against the response content and assert that an empty value exists at the given path.
      ResultMatcher isMap()
      Evaluate the JSON path expression against the response content and assert that the result is a Map.
      ResultMatcher isNotEmpty()
      Evaluate the JSON path expression against the response content and assert that a non-empty value exists at the given path.
      ResultMatcher isNumber()
      Evaluate the JSON path expression against the response content and assert that the result is a Number.
      ResultMatcher isString()
      Evaluate the JSON path expression against the response content and assert that the result is a String.
      JsonPathResultMatchers prefix(java.lang.String prefix)
      Configures the current JsonPathResultMatchers instance to verify that the JSON payload is prepended with the given prefix.
      <T> ResultMatcher value(org.hamcrest.Matcher<T> matcher)
      Evaluate the JSON path expression against the response content and assert the resulting value with the given Hamcrest Matcher.
      <T> ResultMatcher value(org.hamcrest.Matcher<T> matcher, java.lang.Class<T> targetType)
      An overloaded variant of value(Matcher) that also accepts a target type for the resulting value that the matcher can work reliably against.
      ResultMatcher value(java.lang.Object expectedValue)
      Evaluate the JSON path expression against the response content and assert that the result is equal to the supplied value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • prefix

        public JsonPathResultMatchers prefix(java.lang.String prefix)
        Configures the current JsonPathResultMatchers instance to verify that the JSON payload is prepended with the given prefix.

        Use this method if the JSON payloads are prefixed to avoid Cross Site Script Inclusion (XSSI) attacks.

        Parameters:
        prefix - the string prefix prepended to the actual JSON payload
        Since:
        4.3
      • value

        public <T> ResultMatcher value(org.hamcrest.Matcher<T> matcher)
        Evaluate the JSON path expression against the response content and assert the resulting value with the given Hamcrest Matcher.
        See Also:
        value(Matcher, Class), value(Object)
      • value

        public <T> ResultMatcher value(org.hamcrest.Matcher<T> matcher,
                                       java.lang.Class<T> targetType)
        An overloaded variant of value(Matcher) that also accepts a target type for the resulting value that the matcher can work reliably against.

        This can be useful for matching numbers reliably — for example, to coerce an integer into a double.

        Since:
        4.3.15
        See Also:
        value(Matcher), value(Object)
      • exists

        public ResultMatcher exists()
        Evaluate the JSON path expression against the response content and assert that a non-null value, possibly an empty array or map, exists at the given path.

        If the JSON path expression is not definite, this method asserts that the value at the given path is not empty.

      • doesNotExist

        public ResultMatcher doesNotExist()
        Evaluate the JSON path expression against the response content and assert that a non-null value does not exist at the given path.

        If the JSON path expression is not definite, this method asserts that the value at the given path is empty.

      • hasJsonPath

        public ResultMatcher hasJsonPath()
        Evaluate the JSON path expression against the response content and assert that a value, possibly null, exists.

        If the JSON path expression is not definite, this method asserts that the list of values at the given path is not empty.

        Since:
        5.0.3
        See Also:
        exists(), isNotEmpty()
      • doesNotHaveJsonPath

        public ResultMatcher doesNotHaveJsonPath()
        Evaluate the JSON path expression against the supplied content and assert that a value, including null values, does not exist at the given path.

        If the JSON path expression is not definite, this method asserts that the list of values at the given path is empty.

        Since:
        5.0.3
        See Also:
        doesNotExist(), isEmpty()
      • isString

        public ResultMatcher isString()
        Evaluate the JSON path expression against the response content and assert that the result is a String.
        Since:
        4.2.1
      • isBoolean

        public ResultMatcher isBoolean()
        Evaluate the JSON path expression against the response content and assert that the result is a Boolean.
        Since:
        4.2.1
      • isNumber

        public ResultMatcher isNumber()
        Evaluate the JSON path expression against the response content and assert that the result is a Number.
        Since:
        4.2.1
      • isArray

        public ResultMatcher isArray()
        Evaluate the JSON path expression against the response content and assert that the result is an array.
      • isMap

        public ResultMatcher isMap()
        Evaluate the JSON path expression against the response content and assert that the result is a Map.
        Since:
        4.2.1