में जैक्सन एनोटेशन को अनदेखा किया जा रहा है मैं एक डोमेन क्लास में एक संपत्ति बनाने की कोशिश कर रहा हूं लेकिन यह आउटपुट जेएसओएन में दिखाई देता है।वसंत
{"id":1,"password":null,"email":"[email protected]","firstName":"John","lastName":"Smith"}
मेरे डोमेन वर्ग:
@Entity
public class User {
private String mPassword;
...
@JsonIgnore
public String getPassword() {
return mPassword;
}
public void setPassword(String password) {
mPassword = password;
}
...
}
मेरे springmvc config:
...
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="favorPathExtension" value="true" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json"/>
</map>
</property>
<property name="defaultContentType" value="application/json"/>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
...
मैं जैक्सन 2.0 और वसंत 3.1.1
का उत्पादन/उपयोगकर्ताओं/1 उपयोग कर रहा हूँ
और मेरा नियंत्रक:
@Controller
@RequestMapping("/users")
public class UserController {
private UserService mUserService;
public UserController(){}
@Inject
public void setUserController(UserService userService){
mUserService=userService;
}
@RequestMapping(value="/{id}", method=RequestMethod.GET)
public void getUser(@PathVariable("id") long id, Model model){
model.addAttribute(mUserService.getUser(id));
}
}
इस
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver" p:order="1">
<property name="mediaTypes">
<map>
<entry key="html" value="text/html"/>
<entry key="json" value="application/json"/>
</map>
</property>
<property name="viewResolvers">
<!-- this is not important for your jackson problem -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:viewClass="org.springframework.web.servlet.view.tiles2.TilesView" p:order="2" depends-on="tilesConfigurer"/>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
</list>
</property>
</bean>
मेरे नियंत्रक इस
@Controller
public class SearchController {
@RequestMapping(value="/search", method = {RequestMethod.GET, RequestMethod.POST})
public SearchResponse search(@RequestParam(value = QUERY, required = true) String query) {
return generateSearchResponse(query);
}
}
तरह लग रहा है की तरह
मुझे लगता है कि मैं सिर्फ जैक्सन 1.9 में डाउनग्रेड करूंगा जो मेरी समस्या का समाधान करता है। –
जब तक आपको 2.0 से विशेषताओं की आवश्यकता नहीं होती है (जैसे द्वि-दिशात्मक संबंधों के साथ वस्तुओं को गुजरना)। यही कारण है कि मैं 2.0 में अपग्रेड किया। –