Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialUlugbek Aripov
4,461 PointsCan you please clarify how id should be used?
Currently requirement is vague to me. I saw constructor with 4 variables and added id as first and arbitrary string for other - is not accepted. What I should do with id?
package com.teamtreehouse.contactmgr.controller;
import com.teamtreehouse.contactmgr.model.Contact;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.ui.ModelMap;
@Controller
public class ContactController {
@RequestMapping("/")
public String home() {
return "index";
}
@RequestMapping("/contact/{id}")
public String contact(@PathVariable int id, ModelMap modelMap) {
Contact c = new Contact();
modelMap.put("contact/",c);
return "contact_detail";
}
}
package com.teamtreehouse.contactmgr.model;
public class Contact {
private int id;
private String firstName;
private String lastName;
private String email;
public Contact() {}
public Contact(int id, String firstName, String lastName, String email) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public int getId() {
return id;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getEmail() {
return email;
}
public void setId(int id) {
this.id = id;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public void setEmail(String email) {
this.email = email;
}
}
1 Answer
Patrik Horváth
11,110 Pointsyou should go true JAVA basics, look at Contact Constructor 1st is empty so its nonsens make empty object .. but secount Request ID , Name , LastName, Emal so simple
but maybe you forget who know but all was good just you need add parameters to new Contact()
package com.teamtreehouse.contactmgr.controller;
import com.teamtreehouse.contactmgr.model.Contact;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.ui.ModelMap;
@Controller
public class ContactController {
@RequestMapping("/")
public String home() {
return "index";
}
@RequestMapping("/contact/{id}")
public String contact(@PathVariable int id,ModelMap modelMap) {
Contact c = new Contact(id, "..", "..", "..");
modelMap.put("contact",c);
return "contact_detail";
}
}
Ulugbek Aripov
4,461 PointsUlugbek Aripov
4,461 Points@Patrik Horváth I know how to use constructors and if you carefully read my question I wrote that I added 4 params exactly as you did (I used different string values but same way). After that the Check Work did not accept that work. That is why I wonder what is needed.
Patrik Horváth
11,110 PointsPatrik Horváth
11,110 PointsContact c = new Contact(id, "..", "..", "..");
why just id ? because "@PathVariable int id"
this is missing from your code so i think this was bad but here is it if you put this and no accept then something is wrong on your side because its work for me perfect ( tryed win this chalange and i won :) so its works good
here are tips how to insert parameters inside Constructor int = 0
String = "xxx"
char = 'x'
double = 10.10