@@ -1729,10 +1729,10 @@ public void dataClassBinding() throws Exception {
1729
1729
1730
1730
MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1731
1731
request .addParameter ("param1" , "value1" );
1732
- request .addParameter ("param2" , "2 " );
1732
+ request .addParameter ("param2" , "true " );
1733
1733
MockHttpServletResponse response = new MockHttpServletResponse ();
1734
1734
getServlet ().service (request , response );
1735
- assertEquals ("value1-2 -0" , response .getContentAsString ());
1735
+ assertEquals ("value1-true -0" , response .getContentAsString ());
1736
1736
}
1737
1737
1738
1738
@ Test
@@ -1741,11 +1741,11 @@ public void dataClassBindingWithAdditionalSetter() throws Exception {
1741
1741
1742
1742
MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1743
1743
request .addParameter ("param1" , "value1" );
1744
- request .addParameter ("param2" , "2 " );
1744
+ request .addParameter ("param2" , "true " );
1745
1745
request .addParameter ("param3" , "3" );
1746
1746
MockHttpServletResponse response = new MockHttpServletResponse ();
1747
1747
getServlet ().service (request , response );
1748
- assertEquals ("value1-2 -3" , response .getContentAsString ());
1748
+ assertEquals ("value1-true -3" , response .getContentAsString ());
1749
1749
}
1750
1750
1751
1751
@ Test
@@ -1754,11 +1754,11 @@ public void dataClassBindingWithResult() throws Exception {
1754
1754
1755
1755
MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1756
1756
request .addParameter ("param1" , "value1" );
1757
- request .addParameter ("param2" , "2 " );
1757
+ request .addParameter ("param2" , "true " );
1758
1758
request .addParameter ("param3" , "3" );
1759
1759
MockHttpServletResponse response = new MockHttpServletResponse ();
1760
1760
getServlet ().service (request , response );
1761
- assertEquals ("value1-2 -3" , response .getContentAsString ());
1761
+ assertEquals ("value1-true -3" , response .getContentAsString ());
1762
1762
}
1763
1763
1764
1764
@ Test
@@ -1777,7 +1777,7 @@ public void dataClassBindingWithValidationError() throws Exception {
1777
1777
initServletWithControllers (ValidatedDataClassController .class );
1778
1778
1779
1779
MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1780
- request .addParameter ("param2" , "2 " );
1780
+ request .addParameter ("param2" , "true " );
1781
1781
request .addParameter ("param3" , "3" );
1782
1782
MockHttpServletResponse response = new MockHttpServletResponse ();
1783
1783
getServlet ().service (request , response );
@@ -1790,11 +1790,11 @@ public void dataClassBindingWithOptional() throws Exception {
1790
1790
1791
1791
MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1792
1792
request .addParameter ("param1" , "value1" );
1793
- request .addParameter ("param2" , "2 " );
1793
+ request .addParameter ("param2" , "true " );
1794
1794
request .addParameter ("param3" , "3" );
1795
1795
MockHttpServletResponse response = new MockHttpServletResponse ();
1796
1796
getServlet ().service (request , response );
1797
- assertEquals ("value1-2 -3" , response .getContentAsString ());
1797
+ assertEquals ("value1-true -3" , response .getContentAsString ());
1798
1798
}
1799
1799
1800
1800
@ Test
@@ -1808,6 +1808,56 @@ public void dataClassBindingWithOptionalAndConversionError() throws Exception {
1808
1808
assertTrue (response .getContentAsString ().contains ("field 'param2'" ));
1809
1809
}
1810
1810
1811
+ @ Test
1812
+ public void dataClassBindingWithFieldMarker () throws Exception {
1813
+ initServletWithControllers (DataClassController .class );
1814
+
1815
+ MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1816
+ request .addParameter ("param1" , "value1" );
1817
+ request .addParameter ("param2" , "true" );
1818
+ request .addParameter ("_param2" , "on" );
1819
+ MockHttpServletResponse response = new MockHttpServletResponse ();
1820
+ getServlet ().service (request , response );
1821
+ assertEquals ("value1-true-0" , response .getContentAsString ());
1822
+ }
1823
+
1824
+ @ Test
1825
+ public void dataClassBindingWithFieldMarkerFallback () throws Exception {
1826
+ initServletWithControllers (DataClassController .class );
1827
+
1828
+ MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1829
+ request .addParameter ("param1" , "value1" );
1830
+ request .addParameter ("_param2" , "on" );
1831
+ MockHttpServletResponse response = new MockHttpServletResponse ();
1832
+ getServlet ().service (request , response );
1833
+ assertEquals ("value1-false-0" , response .getContentAsString ());
1834
+ }
1835
+
1836
+ @ Test
1837
+ public void dataClassBindingWithFieldDefault () throws Exception {
1838
+ initServletWithControllers (DataClassController .class );
1839
+
1840
+ MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1841
+ request .addParameter ("param1" , "value1" );
1842
+ request .addParameter ("param2" , "true" );
1843
+ request .addParameter ("!param2" , "false" );
1844
+ MockHttpServletResponse response = new MockHttpServletResponse ();
1845
+ getServlet ().service (request , response );
1846
+ assertEquals ("value1-true-0" , response .getContentAsString ());
1847
+ }
1848
+
1849
+ @ Test
1850
+ public void dataClassBindingWithFieldDefaultFallback () throws Exception {
1851
+ initServletWithControllers (DataClassController .class );
1852
+
1853
+ MockHttpServletRequest request = new MockHttpServletRequest ("GET" , "/bind" );
1854
+ request .addParameter ("param1" , "value1" );
1855
+ request .addParameter ("!param2" , "false" );
1856
+ MockHttpServletResponse response = new MockHttpServletResponse ();
1857
+ getServlet ().service (request , response );
1858
+ assertEquals ("value1-false-0" , response .getContentAsString ());
1859
+ }
1860
+
1811
1861
1812
1862
@ Controller
1813
1863
static class ControllerWithEmptyValueMapping {
@@ -3336,12 +3386,12 @@ public static class DataClass {
3336
3386
@ NotNull
3337
3387
public final String param1 ;
3338
3388
3339
- public final int param2 ;
3389
+ public final boolean param2 ;
3340
3390
3341
3391
public int param3 ;
3342
3392
3343
3393
@ ConstructorProperties ({"param1" , "param2" })
3344
- public DataClass (String param1 , int p2 ) {
3394
+ public DataClass (String param1 , boolean p2 ) {
3345
3395
this .param1 = param1 ;
3346
3396
this .param2 = p2 ;
3347
3397
}
0 commit comments